【问题标题】:How to read part of a file and save it?如何读取文件的一部分并保存?
【发布时间】:2016-08-09 12:36:54
【问题描述】:

我想知道如何读取文件中的文本,例如在第一行中包含 Column1、Column2、Column3 等,鉴于我有该行,我想读取到 Column1 并停止并将其存储在一个变量,如果我想要column2,我只想阅读直到找到column2,一旦我这样做,我就将“column2”存储在一个变量中,等等,如果这有任何意义的话。

基本上我想在文件中搜索和读取某些单词并将其存储到一个变量中以用于以后的其他操作。那可能吗?我考虑使用缓冲区阅读器,但我对 java 不是很有经验,所以我可以查看任何建议或代码 sn-ps 我将不胜感激,在此先感谢。

【问题讨论】:

  • 听起来像一个 CSV 文件。使用 CSV 库。
  • 对于 CSV 文件,使用 OpenCSV
  • 不,它不是 csv 文件,只是一个文本文件。它是项目的一部分,我认为我们不允许添加任何额外的库。我只想读取部分行并将其保存在变量中,还要记住 column1 和 column2 之间是一个分隔符,如果有帮助,我将其作为逗号。

标签: java file csv reader


【解决方案1】:

这样做的真正蛮力方法是仅将整个数据结构保存到文件中并从文件中加载。然后,您可以以一种更舒适的方式挑选您想要查看的内容。以下示例从当前目录的文件中保存并加载一个名为 data 的整数数组:

//Load the data integer array from a file in the current directory
public void loadData(){
    try{
        ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fileName));
        data = (int[])ois.readObject();
    }catch(Exception e){e.printStackTrace();}
}

//Save the data integer array to a file in the current directory
public void saveData(){
    try{
        FileOutputStream out = new FileOutputStream(fileName);
        ObjectOutputStream oout = new ObjectOutputStream(out);
        oout.writeObject(data);
        oout.close();
    }catch(Exception e){e.printStackTrace();}
}

【讨论】:

    猜你喜欢
    • 2020-03-16
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 2019-09-10
    相关资源
    最近更新 更多