无法使用java

时间:2015-06-25 06:15:55

标签: java linux

我的要求是从放置在linux机器上的文件中读取,改变它的内容。 为此,我正在读取文件,创建临时文件,将原始文件的内容写入临时文件,然后删除原始文件并将临时文件重命名为原始名称。当我从VM使用它时这很好用,但是当我真的尝试在linux机器上运行它时它不起作用。 它不会给出任何错误。但是当我去路径中查看文件时,它就不存在了。以下是我的代码。请建议可能出错的地方。

public class ReadWriteReplace {

public static void main(String[] args) throws IOException {

    String filepath = "/home/cloudera/Desktop/datefile1";

    File file = new File(filepath);
    File fout = File.createTempFile("tmp", "");

    FileReader fr = new FileReader(file);
    FileWriter fw = new FileWriter(fout);

    BufferedReader br = new BufferedReader(fr);
    BufferedWriter bw = new BufferedWriter(fw);
    String division = "abc";
    String input = "";
    String finaldate = "2015/04/15";

    String line = br.readLine();
    while(line != null) {
        if (line.contains(division.toUpperCase())) {
            System.out.println("line :::"+ line);
            String [] line1 = line.split(",");
            System.out.println("line1[0] :::"+line1[0]);
            System.out.println("line1[1] :::"+line1[1]);

            System.out.println();
            bw.write(line1[0]+","+finaldate+'\n' );
        }else{
            bw.write(line+'\n');
        }
            line = br.readLine();
        }
    br.close();
    bw.close();

    String foutstring = fout.toString();
    System.out.println("foutstring ::"+foutstring);

    FileReader fr1 = new FileReader(fout);
    BufferedReader br1 = new BufferedReader(fr1);
    String line1 = br1.readLine();
    System.out.println("line1:::"+line1);
    while(line1 != null){
        System.out.println("br1 line ::"+line1);
        line1 = br1.readLine();
    }
    br1.close();

    File oldFile = new File(filepath);

    if(oldFile.delete()){
        System.out.println("filedeleted");
        fout.renameTo(oldFile);
    }
}

}

我的输入文件包含以下数据:

mno,2015/03/14

jkl,2015/03/17

ghi,2015/03/15

abc,2015/03/18

cdf,2015/03/19

修改::

为了清楚起见,我正在为上面的代码创建一个jar,并使用putty在远程linux机器上运行它。

0 个答案:

没有答案