Tag: 文件

从java应用程序下载文件

嗨我需要一些帮助从我的Java应用程序下载文件。 该url为“http://my.site.com/UICFEWebroot/QueryOneDateAllCur?lang=ita&rate=0&initDay=11&initMonth=10&initYear=2010&refCur=euro&R1=csv” 我尝试使用此代码,但结果是一个空文件 URL urlAgg = new URL(address); int lf = urlAgg.openConnection().getContentLength(); FileOutputStream fos = new FileOutputStream(“agg” + File.separator + “cambio” + gg + mm + aaaa + “.csv”); InputStream in = urlAgg.openStream(); for (int i = 0; i < lf; i++) { byte[] b = new byte[1]; in.read(b); fos.write(b); } fos.close(); in.close();

跳到一条线并阅读它

我必须处理大文件(许多GB)并需要快速查找以根据请求检索特定行。 我们的想法是保持映射: some_key -> byte_location 其中字节位置表示行开始的文件中的位置。 编辑:问题有所改变: 首先我用过: FileInputStream stream = new FileInputStream(file); BufferedReader reader = new BufferedReader(new InputStreamReader(stream)); FileChannel channel = stream.getChannel(); 我注意到FileChannel.position()不会返回读者当前正在阅读的确切位置,因为它是一个“缓冲”阅读器。 它读取给定大小的块(这里是16k),所以我从FileChannel获得的是16k的倍数,而不是读者实际读取的确切位置。 PS:文件是UTF-8

使用xPath修改XML文件

我想使用xPath修改现有的XML文件。 如果该节点不存在,则应创建该节点(如果需要,则与其父节点一起创建)。 一个例子: true 1.0 这里有几个我想插入/修改的xPath: /configuration/param1/text() -> 4.0 /configuration/param2/text() -> “asdf” /configuration/test/param3/text() -> true 之后XML文件应如下所示: true 4.0 asdf true 我试过这个: import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; try { DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); Document doc = domFactory.newDocumentBuilder().parse(file.getAbsolutePath()); XPath xpath […]

Web项目中的Java文件路径

我需要从一个类访问我的Web项目中的资源文件。 问题是开发时的路径与已部署的路径不同。 例如,如果我想在开发时访问某些css文件,我可以这样做: File file = new File(“src/main/webapp/resources/styles/some.css/”); 但是一旦部署它可能不起作用,因为目标文件夹中没有src或main目录。 那么如何一致地访问文件呢?

如何使用AsyncTask类更新复制文件另一个目录的进度?

嗨,大家可以告诉我,我应该如何使用AsyncTask类加上进度条来执行文件到手机SD卡本地上下文中的另一个目录的复制过程? 我已经看到了一个类似的例子[这里] [1],但我不知道如何结合差异/修改代码的上下文以适应我的上下文使其工作?

如何重命名现有文件?

我有2个文件, File src = new File(“loc/xyz.mp3”)和File dst=new File(“loc/xyz1.mp3”)现在,我想在删除src文件时将dst重命名为xyz.mp3。 我怎么能做到这一点? 我在努力, src.delete(); dst.renameTo(src); 我在我的应用程序的后台运行AsyncTask,当我第一次执行它时,它运行得很好,但是第二次,它崩溃了。 请帮忙我该怎么做。

附加文件导致覆盖(Java)

所以我正在创建一个CSV文件,每次动作发生时我都想将数据写入文件。 我遇到的问题是它会在第二次进入时覆盖数据。 如何将数据添加到文件末尾? public boolean save_to_csv(){ //check if directory exists, if not create the folder File folder = new File(Environment.getExternalStorageDirectory() + “/HKA_CAL”); //Environment.getExternalStorageDirectory() get the location of external storage boolean success = true; if(!folder.exists()) { success = folder.mkdir(); } if (success) { //success is true if folder has successfully been created //now we can create/check […]

Mac OS FileNotFound上的Java,如果路径包含非拉丁字符

大家好消息。 我在Mac OS上发现了java的问题。 我将带有非明字字符名称的文件放到文件夹测试中,完整路径是/ Users / dnelepov / Downloads / test /тестизображение.png 你可以看到文件存在! 接下来我写了一些代码来查看文件夹/ Users / dnelepov / Downloads / test /上的所有文件,并打开文件进行读取(例如): File dirF = new File(“/Users/dnelepov/Downloads/test/”); File[] files = dirF.listFiles(); for (File oneF : files) { System.out.println(“FILE:” + oneF); if (oneF.exists()){ System.out.println(“EXISTS:”+oneF); } } 但接下来我得到了这个: 你可以看到EXSIS行:从不打印,但文件成立! printind系统属性也得到: 的file.encoding = UTF-8 PS 对于带有西里尔字符的文件路径,我在Java java.io.filenotfoundexception之前询问类似的类型问题 – […]

如何使用DOCX4J在docx文件生成中应用新行

通过我看过的教程。 我学会了如何在生成docx文件时添加文本。 但是每次我添加一行文字。 我注意到第一行文本和第二行文本之间总是有一个空格。 就像两次输入回车键一样。 我知道主要原因是每次我添加一行文字,我都会使用一个段落。 并且段落以另一段后面的空格开头。 这是我添加文本的方式 ObjectFactory factory; factory = Context.getWmlObjectFactory(); WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(); P spc = factory.createP(); R rspc = factory.createR(); rspc.getContent().add(wordMLPackage.getMainDocumentPart().createParagraphOfText(“sample”)); spc.getContent().add(rspc); java.io.InputStream is = new java.io.FileInputStream(file); wordMLPackage.getMainDocumentPart().addObject(spc); 所以这段代码成功运行并产生正确的输出。 但是当我添加另一段时。 或文字。 我希望它只是在第一行文本之下。 有没有办法,我可以添加一个简单的文本行而不使用段落? 提前致谢 编辑:我也试过像这样添加一个简单的org.docx4j.wml.Text Text newtext = factory.createText(); newtext.setValue(“sample new text”); wordMLPackage.getMainDocumentPart().addObject(newtext); 程序将运行但是当我打开生成的docx文件时,它只会提示一条消息,说明内容有问题。

android中的访问/数据文件夹文件

我已根植我的设备,我已安装busybox。 现在我想通过我的应用程序访问/ data文件夹文件。 我的应用程序具有超级用户权限,但我仍然无法访问文件。 任何人都可以知道如何做到这一点(有或没有busybox)? 请帮帮我。 码: if ((new File(“/data/bin/su”)).exists()) SU_COMMAND = “/data/bin/su”; else SU_COMMAND = “su”; String command1 = “busybox mount /sdcard \n”; String command2 = “busybox mount /system \n”; String command = “busybox cp /data/data/com.my.test.app/databases/ /mnt/sdcard/testapp/ \n”; Process process = (new ProcessBuilder(as)).start(); Runtime rt = Runtime.getRuntime(); java.io.OutputStream outputstream = process.getOutputStream(); outputstream.write(command1.getBytes()); outputstream.flush();