Tag: fileinputstream

JAVA写入具有特定偏移量的文件

我必须编写一个程序来读取文件并插入用户通过控制台窗口给出的一些文本。 插入文本的位置也应通过控制台窗口给出。 下面是我的代码,输入句子和偏移后我得到“字符串索引超出范围”。 输入句子:嘿 输入位置:5 字符串索引超出范围:9 < – 这是错误, import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter; import java.util.Scanner; import java.io.Writer; class ReadPosition{ public static void main(String args[]) { try{ FileWriter Writer = new FileWriter(“in.txt”); @SuppressWarnings(“resource”) BufferedWriter bufferedWriter = new BufferedWriter(Writer); Scanner input= new Scanner(System.in); System.out.println(“Enter The Sentence: “); […]

在java中读取日志文件

是否可以使用java读取日志文件(abc.log)? 我想从我的日志文件中获取特定的字符串。 假设这是我的日志文件的内容。 我只想要时间戳(例如:05:08:37)并将其打印到控制台。 2012-12-16 05:08:37,905 [Thread-1] INFO com.submit.SubmitService – Wait time 500 2012-12-16 05:08:38,444 [Thread-1] INFO com.submit.SubmitService – NO OF RECORDS TILL NOW 3755 TOTAL TIME — << 539 2012-12-16 05:08:38,668 [Thread-1] INFO com.submit.SubmitService – Active Connection:: -69076 2012-12-16 05:08:38,670 [Thread-1] INFO com.submit.SubmitService – Active Connection:: -65764

使用ObjectOutputStream写入文件而不覆盖旧数据

我需要在eclipse上的文件上编写字符串而不覆盖旧字符串。 该函数类似于:创建一个字符串,将其保存在文件中,创建另一个字符串,将其保存在文件中,这包含多个字符串。 字符串具有下一种格式: String one = name surname surname; value1 value2 value3; code 所以方法将是:创建字符串,将其保存在文件中。 创建另一个字符串,将其保存在文件上等。然后在文件上保存所需的字符串数量后,我需要读取列出控制台上所有字符串的文件。 但是现在,我只能在文件上保存一个字符串然后列出它。 如果我保存两个字符串,第二个会覆盖第一个字符串,无论如何,它不正确,因为当我想列出它们时返回null值。 这是在文件上写入字符串的方法: public void writeSelling(List wordList) throws IOException { fileOutPutStream = new FileOutputStream (file); write= new ObjectOutputStream (fileOutPutStream); for (String s : wordList){ write.writeObject(s); } write.close(); } 这就是我在主类上调用write方法的方法 : List objectlist= new ArrayList(); objectlist.add(product); //Product is the string I […]

使用Java将文本文件中的数据解析为多个数组

首先让我说我是Java的新手,所以如果我犯了明显的错误,请原谅我…… 我有一个文本文件,我必须从中读取数据并将数据拆分为单独的数组。 文本文件包含此格式的数据(尽管如果有必要,可以稍微修改一下,如果它是唯一的方法,则可以使用标识符标记) noOfStudents studentNAme studentID numberOfCourses courseName courseNumber creditHours grade courseName courseNumber creditHours grade courseName courseNumber creditHours grade 。 。 studentNAme studentID numberOfCourses courseName courseNumber creditHours grade courseName courseNumber creditHours grade courseName courseNumber creditHours grade 。 。 第一行表示将列出的“学生”总数,需要将其移动到数组。 一个数组将包含学生信息 studentName,studentID,numberOfCourses 到一个数组,和 courseName,courseNumber,creditHours,grade 到第二个数组。 我的问题源于如何解析这些数据。 我正在读第一行,转换为int并使用它来确定我的学生数组的大小。 之后,我不知道如何将数据移动到数组中并让我的程序知道哪个数组移动哪些行。 需要注意的一点是,每个学生所选课程的数量是可变的,所以我不能简单地将1行读入一个数组,然后将3行读入下一个数组,等等。 我需要使用标识符还是我错过了一些明显的东西? 我一直在看这个问题一个星期了,此时我只是感到沮丧。 任何帮助是极大的赞赏! 谢谢 编辑:这是我目前正在处理的代码部分。 public static […]

与C#相比,从Java获取错误的字节数

所以我有一些FRX二进制文件,我试图使用Java的二进制读取方法来获取字符串标题。 我有能力这样做,并使用以下程序指定在C#中读取字节的区域: using System; using System.Collections.Generic; using System.Text; using System.IO; public class GetFromFRX { public static void Main() { StringBuilder buffer = new StringBuilder(); using (BinaryReader b = new BinaryReader(File.Open(“frmResidency.frx”, FileMode.Open))) { try { b.BaseStream.Seek(641, SeekOrigin.Begin); int length = b.ReadInt32(); for (int i = 0; i < length; i++) { buffer.Append(b.ReadChar()); } } catch (Exception […]

在android中读取二进制文件

我创建了一个Task类型的自定义对象,我想将它保存在内部存储的二进制文件中。 这是我创建的类: public class Task{ private String title; private int year; private int month; private int day; private int hour; private int minute; public Task(String inputTitle, int inputYear, int inputMonth, int inputDay, int inputHour, int inputMinute){ this.title = inputTitle; this.year = inputYear; this.month = inputMonth; this.day = inputDay; this.hour = inputHour; this.minute = inputMinute; } […]

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的内容?

为什么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 { […]

Java读取对象输入流到arraylist?

以下方法应该将二进制文件读入arrayList 。 但是得到一个java.io.EOFException : at java.io.ObjectInputStream $ BlockDataInputStream.peekByte(ObjectInputStream.java:2553) 在java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1296) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) at ….阅读(Tester.java:400) at …. main(Tester.java:23) main的第23行调用方法,第400行是下面的while循环。 有任何想法吗? private static void Read() { try { ObjectInputStream objIn = new ObjectInputStream(new FileInputStream(“/file.bin”)); while (objIn.readObject() != null) { list.add((Libreria) objIn.readObject()); } objIn.close(); } catch(Exception e) { e.printStackTrace(); } }

如何使用FileInputStream访问jar中的txt文件?

我知道getResourceAsStream()方法但是解析器读取文件存在问题,整个结构实现为期望FileInputStream()和getResourceAsStream()返回无法转换的输入流。 对于这种情况,有没有简单的“修复”?