Tag: 文件

从资源路径创建文件对象到jar文件中的图像

我需要在创建jar文件后,从包含在jar文件中的图像的文件路径中创建一个File对象。 如果尝试使用: URL url = getClass().getResource(“/resources/images/image.jpg”); File imageFile = new File(url.toURI()); 但它不起作用。 有谁知道另一种方法呢?

Scanner.hasNext()返回false

我有一个包含许多文件的目录 – 每个文件包含800多行。 Hovewer,当我尝试使用Scanner阅读它时,它似乎是空的。 File f1 = new File(“data/cityDistances/a.txt”), f2 = new File(“data/cityDistances/b.txt”); System.out.println(f1.exists() && f2.exists()); //return true System.out.println(f1.getTotalSpace() > 0 && f2.getTotalSpace() > 0); //return true Scanner in = new Scanner(f1); System.out.println(in.hasNext()); // return false; System.out.println(in.hasNextLine()); //return false; 为什么它会像那样? 我已经设法使用BufferedReader 。 尽管如此, BufferedReader工作原理和Scanner工作原理似乎更加奇怪。

将随机字节缩放到选定的整数范围

我有一个真随机字节的文件。 我想要一个函数,它返回一个随机整数,该范围是从文件中取一个字节并对其进行缩放。 (这是正确的词吗?) public int getInt(int l, int h) throws IOException { int m = (h – l) + 1; // number of ranges needed int r = 256 / m; // size of byte range int x = (r * m) – 1; // maximum allowable byte value int b; do { try { […]

FileInputStream如何获取File的内容?

我有一个文件f ,我需要将它影响到FileInputStream fs : File f = new File(“C:/dir/foo.txt”); FileInputStream fs = (FileInputStream)f; 但我得到这个错误: Cannot cast from File to FileInputStream fs如何获得f的内容?

用Java读取和写入二进制文件(看到文件的一半被破坏)

我在python中有一些工作代码,我需要转换为Java。 我在这个论坛上读过很多post但是找不到答案。 我正在读取JPG图像并将其转换为字节数组。 然后我将此缓冲区写入另一个文件。 当我比较Java和python代码中的写入文件时,最后的字节不匹配。 如果您有任何建议,请告诉我。 我需要使用字节数组将图像打包成需要发送到远程服务器的消息。 Java代码(在Android上运行) 阅读文件: File queryImg = new File(ImagePath); int imageLen = (int)queryImg.length(); byte [] imgData = new byte[imageLen]; FileInputStream fis = new FileInputStream(queryImg); fis.read(imgData); 写文件: FileOutputStream f = new FileOutputStream(new File(“/sdcard/output.raw”)); f.write(imgData); f.flush(); f.close(); 谢谢!

使用FileUtils.copyFile复制文件

我试图使用文件utils复制文件方法复制文件。 我正在遇到一些有时抛出exception的问题 java.io.IOException: Failed to copy full contents from ‘path.xml’ to localfile.xml 我在google搜索并在代码中看到当目标文件长度与目标文件长度不同时抛出此exception,exception仅发生一些时间 – 这可能是由于我尝试复制的文件是一致的更新所以我可能会在更新中捕获它(只是一个值更改的xml文件) 如果我将调用包装在if(target.canRead())但这似乎没什么区别。 有人可以帮忙吗? * 更新: *我无法锁定文件,因为它是通过第三方供应商写入的,这会导致各种问题。

BufferedReader构造函数对FileReader的期望是什么

我需要了解这两个类之间的区别以及它们如何相互协作。 据我所知,FileReader一次从一个文件中读取字符,BufferedReader读取大量数据并将其存储在缓冲区中,从而使其更快。 为了使用BufferedReader,我必须提供一个FileReader。 如果BufferedReader类以不同方式读取文件,它如何使用FileReader? 这是否意味着BufferedReader使用FileReader,因此在幕后,字符仍然一次只能读取一个字符? 我想我的问题是BufferedReader类如何使用FileReader类。

为什么FileInputStream read()没有阻塞?

我有一个Writer程序,它将一行文本写入文件,然后等待用户在写入另一行之前返回,然后退出。 只有在那之后文件才关闭。 代码: public class Writer { Writer() { } public static String[] strings = { “Hello World”, “Goodbye World” }; public static void main(String[] args) throws java.io.IOException { java.io.FileOutputStream pw = new java.io.FileOutputStream(“myfile.txt”); for(String s : strings) { pw.write(s.getBytes()); System.in.read(); } pw.close(); } } 首先开始: java作家 然后我还有一个读者程序,只要文件的写入尚未完成(即尚未调用pw.close()),应该(我预期)阻止。 代码: public class ReaderFIS extends Object { […]

android java.io.File.fixSlashes(File.java:185)

我在控制台崩溃和anrs中出错了。 有时会出现此错误,我无法找到问题所在。 java.lang.NullPointerException at java.io.File.fixSlashes(File.java:185) at java.io.File.(File.java:134) 保存图片的function代码是: public static String sharePhoto(Context context, Bitmap bmp) { File folder = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + “/Pictures/Folder”); boolean success = true; String file_path = null; if (!folder.exists()) { success = folder.mkdir(); } if (success) { file_path = folder + “/Img_” + System.currentTimeMillis() / 1000 + “.jpg”; } OutputStream os […]

Apache事务:事务性写入文件 – 如何使用resourceId

如果有人实施了交易写入文件,请帮助我。 相关主题在早期的线程( 事务写入 )中讨论过。 用例如下: 如果写入日志文件失败,则应回滚适当的数据库事务。 因此,文件的写入应该以事务方式执行。 我选择了Apache Commons Transaction lib。 并且有问题,这不让我走得更远,因为没有找到适当的文档或示例。 我创建了FileResourceManager的实例: FileResourceManager frm = new FileResourceManager(“c:\ cur”,“c:\ cur”,true,logger); 据我从这个Apache Commons Transaction教程中了解,我应该实现以下步骤: 开始交易: frm.start(); 获取它的事务ID: transactionId = frm.generatedUniqueTxId(); call方法,这是必需的,例如带有transactionId和resourceId的writeResource: frm.writeResource(transactionId, resourceId); 这里含糊不清: a)如何将resourceId与真实资源连接起来,我应该以transactioanally方式编写? b)我的文件,我将以事务方式编写的文件现在如何处理resourceId ? 谢谢你的建议。