Tag: io

如何更新.txt文件中的包含java

例如,我有一个名为file.txt的文件,其中包含个人信息(id,name,salary): A123 Anna 3000 A234 Alex 4000 A986 Jame 5000 如何编写允许用户输入人员ID并补充工资的java代码? 最终输出如下: 输入ID:A123 输入补充工资:2000 运行程序后的file.txt: A123 Anna 5000 A234 Alex 4000 A986 Jame 5000 这是我到目前为止所做的,但它没有工作: public static void addDalary() throws IOException { String ID, Nanme; double salary; Scanner console = new Scanner(System.in); System.out.print(“Enter ID : “); String pID = console.nextLine(); System.out.print(“Enter replenish salary: “); replenish […]

适用于Java的最佳漂亮打印库?

什么是Java最好的漂亮打印库? 我的意思是一个用于打印格式化输出的库,包括缩进,中断提示等, 而不是用于美化/重新格式化Java代码本身的库。 理想情况下,图书馆将与System.out.println和朋友“玩得很好”。 有关我正在寻找的内容的概念,请参阅OCaml的Format模块 ,尤其是Format.fprintf 。 [更新]我不是在寻找控制台窗口库。 漂亮的打印库允许您定义格式化任意值的方法,以便保留缩进并在合理的位置选择换行符。 这些库存在于Haskell , Standard ML , OCaml , F#和Scheme中 。 XTC库在xtc.tree.Printer提供了一些此function,但它不像其他语言中的库那样灵活。

如何从文本文件Java中读取单个单词(或行)?

就像标题所说,我试图编写一个程序,可以从文本文件中读取单个单词并将它们存储到String变量中。 我知道如何使用FileReader或FileInputStream来读取单个char但是我正在尝试这个不会工作。 一旦我输入单词,我试图将这些与我的程序中的其他String变量进行比较,使用.equals,这样我最好能够导入为Strings。 我也可以将文本文件中的整行输入为String,在这种情况下,我只在文件的每一行放一个单词。 如何从文本文件中输入单词并将其存储到String变量中? 编辑:好的,那种重复的帮助。 它可能适合我,但我的问题有点不同的原因是因为副本只告诉如何读取单行。 我试图阅读该行中的单个单词。 所以基本上拆分线String。

如何使用java 读取文本文件中的最后一行

我正在创建一个日志,我想读取log.txt文件的最后一行,但是一旦读完最后一行,我就无法让BufferedReader停止。 这是我的代码: try { String sCurrentLine; br = new BufferedReader(new FileReader(“C:\\testing.txt”)); while ((sCurrentLine = br.readLine()) != null) { System.out.println(sCurrentLine); } } catch (IOException e) { e.printStackTrace(); } finally { try { if (br != null)br.close(); } catch (IOException ex) { ex.printStackTrace(); } }

Java – 创建新文件,如何使用方法指定目录?

我知道如何通过这样做将file写入指定的目录: public void writefile(){ try{ Writer output = null; File file = new File(“C:\\results\\results.txt”); output = new BufferedWriter(new FileWriter(file)); for(int i=0; i<100; i++){ //CODE TO FETCH RESULTS AND WRITE FILE } output.close(); System.out.println("File has been written"); }catch(Exception e){ System.out.println("Could not create file"); } 但是,如果在方法中设置目录,我该如何继续指定目录? 例如,一个名为getCacheDirectory()方法。 假设所有必要的import等已经完成.. 谢谢 :)。

使用Java将大于2GB的文件读入内存

由于ByteArrayInputStream限制为2GB,是否有任何替代解决方案允许我将2.3GB(可能更大)文件的全部内容存储到一个由Stax2读取的InputStream中? 当前代码: XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(in); //ByteArrayInputStream???? try { SchemaFactory factory = SchemaFactory.newInstance(“http://www.w3.org/2001/XMLSchema”); Schema schema = factory.newSchema(new StreamSource(schemaInputStream)); Validator validator = schema.newValidator(); validator.validate(new StAXSource(xmlStreamReader)); } finally { xmlStreamReader.close(); } 对于性能调优,变量in不得来自磁盘。 我有很多 RAM。

从Java启动文件

我想从Java程序启动一个文件(文档)并按照以下要求进行调整: 方法必须适用于Mac,Win和Linux系统 我不允许使用“Runtime.getRuntime()。exec(”cmd.exe / C +“filename”); 我正在启动的文件需要是.doc / .docx / .rtf 该文件是在运行时创建的,是创建报告的结果。 有什么好的做法?

如何在Java中取消Files.copy()?

我正在使用Java NIO复制一些东西: Files.copy(source, target); 但是我想让用户能够取消它(例如,如果文件太大而且需要一段时间)。 我该怎么做?

Java中的缓冲和无缓冲流

我正在阅读有关Java IO的一些文档,只是想确定我是否做到了这一点: 无缓冲输入流 :FileInputStream,InputStreamReader,FileReader 无缓冲输出流 :FileOutputStream,OutputStreamWriter,FileWriter 缓冲输出流 :PrintStream,PrintWriter 此外,我们还有BufferedInputStream,BufferedOutputStream,BufferedReader和BufferedWriter流,可将无缓冲的流转换为缓冲版本。 最后,我观察到了Character Streams,即。 InputStreamReader,FileReader,OutputStreamWriter,FileWriter,在将字节发送到流之前为字节维护内部字节缓冲区。 这个字节缓冲区不在我们的控制之下。 因此,对于Character Streams,缓冲是指用于存储进出程序的字符的高级字符缓冲区。 我说的一切都是正确的吗? PS – 我知道这个缓冲问题在某种程度上依赖于实现,但我只是想确认一下javadocs在说什么

如何知道BufferedReader Stream是否已关闭

我在Java中有两个线程。 第一个线程正在关闭bufferedreader( br.close() ) 当第二个线程在同一个读取器上读取时,我得到一个IOException (Stream Closed) 即使我使用br.ready()我也会遇到此exception 有没有办法知道流是否已经关闭?