Tag: file io

从另一个目录中读取.txt文件

我运行的代码在/Test1/Example 。 如果我需要读取/Test1的.txt文件,如何让Java在目录树中返回1级,然后读取我的.txt文件 我搜索/ googled并且无法找到在不同位置读取文件的方法。 我在位于/Test1/Test2/testing.htm的.htm文件中运行java脚本。 它说脚本src=” ” 。 我会在引文中添加什么来从位于/Test1/example.txt文件中读取它。

从imageReader写回修改后的图像

我从动画gif中读取分离的图像,我只需要在frames[i]对它们进行更改,然后将它们设置回文件并以writer作为新文件保存。 File file = new File(“gif1.gif”); ImageReader reader = ImageIO.getImageReadersBySuffix(“GIF”).next(); ImageInputStream in = ImageIO.createImageInputStream(file); reader.setInput(in); File output = new File(“k.gif”); ImageWriter writer = ImageIO.getImageWritersBySuffix(“GIF”).next(); ImageOutputStream out = ImageIO.createImageOutputStream(file); writer.setOutput(out); int numImages = reader.getNumImages(true); BufferedImage[] frames = new BufferedImage[pocetObrazku]; for (int i = 0; i < numImages; i++) { BufferedImage image = reader.read(i); frames[i] = reader.read(i); […]

Java:从文件系统加载资源

我的项目设置 我有以下项目设置: \program.jar \images\logo.png 在我的代码中,我使用相对URL “images/logo.png”引用图像。 问题 如果我在目录中使用以下命令运行此程序: c:\projects\program_dir\bin\>java -jar program.jar 然后一切正常,Java能够找到图像。 现在,我的问题是,我需要能够从不同的目录运行该程序。 c:\>java -jar c:\projects\program_dir\bin\program.jar 程序已执行,但现在所有相对URL都不再有效。 我需要的 如何计算program.jar文件的执行主页,以便我可以将相对URL更改为绝对URL?

如果目录中的文件数发生更改,请通知Button

只要目录中没有特定数量的文件,我就会禁用一个按钮。 是否有某种监听器在目录中创建或删除文件时通知我?

Java File.renameTo(File)不起作用

我正在尝试列出目录的内容,并重命名某些文件。 public void run(String dirName) { try { File parDir = new File(dirName); File[] dirContents = parDir.listFiles(); // Rename if necessary for(File f : dirContents) { System.out.println(“f is:\n” + f.toString()); String name = f.getName(); String subbedName = name.replaceAll(“\uFFFD”, “_”); System.out.println(“\n” + “name = ” + name + “, subbedName = ” + subbedName + “\n”); […]

如何在没有JFileChooser的Java Swing中打开文件

我正在使用Java Swing(GUI),我想在我的项目中添加一个按钮来打开文件。 我不喜欢JFileChooser因为它打开了一个小窗口来浏览目录的文件。 我可以在Java Swing下使用其他东西而不是JFileChooser吗? 我试图使用SWT的元素,但它不起作用,意思是使用按钮对象然后在JFrame使用它,但是失败了,所以我猜SWT和Swing不会混合在一起? 下面是使用JFileChooser的Java Swing示例,我正在寻找这样的东西放入我的JFrame 。

在Java中读取奇怪的unicode字符?

我有以下文本文件: 该文件使用utf-8编码保存。 我使用以下代码来读取文件的内容: FileReader fr = new FileReader(“f.txt”); BufferedReader br = new BufferedReader(fr); String s1 = br.readLine(); String s2 = br.readLine(); System.out.println(“s1 = ” + s1.length()); System.out.println(“s2 = ” + s2.length()); 输出: s1 = 5 s2 = 4 然后我尝试使用s1.charAt(0); 得到s1的第一个字符,它是” (空白)字符。 这就是为什么s1的长度为5.即使我试图使用s1.trim(); 它的长度仍然是5.我不知道为什么会这样? 如果文件是使用ASCII编码保存的,它可以正常工作。

PrintWriter创建空文件

我有StringBuilder sb ,我希望该字符串保存为*.txt文件。 问题是我得到”filename.txt”但它完全是空的,控制台也没有错误。 这是我的代码: System.out.print(sb.toString()); PrintWriter out; try{ out = new PrintWriter(“filename.txt”); out.println(sb.toString()); }catch (Exception e) { e.printStackTrace(); } 控制台输出: [19/3/2014] Ime in priimek: Matjaz Mav Naslov: Ppot 6, 1000 Ljubljana Telefon: 040 111 222 Registerska št.: LJ 1234 Znamka: Citroen Model: C4 Letnik: 2005 Opombe: Popravi 谢谢!

如何在Mac Os X(Java)中返回文件访问的毫秒信息?

我刚认识到Mac Os X没有向java.io.File#lastModified()方法返回任何毫秒信息。 长值是四舍五入的,因此最特定的信息类型是在转移到DateTime对象后的第二种信息。 有没有办法以其他方式获取这些信息,可能是通过java.nio.file.Files#readAttributes(Path,Class,LinkOption[])方法,还是希望能够区分毫秒?

如何通过FileWriter在BufferedWriter上设置缓冲区大小

当我用一些线程将数据写入单个文件时,我遇到了BufferedWriter的问题。 我设置了BufferedWriter的缓冲区大小,但无论我设置了什么数字,当缓冲区为8192(默认缓冲区大小)时,它会将数据刷新到磁盘,而不是我设置的大小(这里是16384)。 我的代码有问题吗? 这就是我构建BufferedWriter : new BufferedWriter(new FileWriter(fileName, true), 16384); 这是完整的代码: import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class Test1 { public static void main(String[] args) throws IOException { for(int i =0;i<10;i++){ MyThread r = new MyThread(); Thread t = new Thread(r); t.start(); } } } class MyThread implements Runnable { public void […]