为什么值不在文本视图中打印?

时间:2015-05-03 20:32:28

标签: java

如果它传递了if语句,我试图在文本视图中打印'1'或'0'。我在调试模式下运行它,一切正常,但它不在文本视图中打印。我如何解决这个问题我尝试了很多东西,但我仍然陷入困境。

public class Readcsv {

    private static final String FILE_DIR = "/Users/Me/Downloads";
    private static final String FILE_TEXT_NAME = ".csv";

    public static void main(String [] args) throws Exception{ 
        PrintWriter writer = new PrintWriter("/users/Me/Documents/Test.txt", "UTF-8");
        int i=-1;
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ",";


        //Find Number of Files
        String[] list = new Readcsv().FileCount(FILE_DIR, FILE_TEXT_NAME);
        System.out.println("Total Files = " + list.length);

        while(i++ < list.length){     
            System.out.println("Loop Count = " + i);
            try {
                br = new BufferedReader(new FileReader("/users/Tanuj/Downloads/" + list[i]));                
                while ((line = br.readLine()) != null) { 
                    // use comma as separator
                    String[] strRecord = line.split(cvsSplitBy);
                    if (!strRecord[0].equals("timestampMs")){
                        int c = Integer.parseInt(strRecord[4]);
                        int e = Integer.parseInt(strRecord[5]);
                        if(c>e){
                            writer.print("1");
                        }
                        else{
                            writer.print("0");
                        }
                        break;
                    }

                }


            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (br != null) {
                    try {
                        br.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }

        } //End of while

        writer.close();  


    }   //End of Main

    public String[]  FileCount(String folder, String ext) {

        GenericExtFilter filter = new GenericExtFilter(ext);

        File dir = new File(folder);

        if(dir.isDirectory()==false){
            System.out.println("Directory does not exists : " + FILE_DIR);
            return null;
        }

        // list out all the file name and filter by the extension
        String[] list = dir.list((FilenameFilter) filter);

        return list;
    }

    // inner class, generic extension filter
    public class GenericExtFilter implements FilenameFilter {

        private String ext;

        public GenericExtFilter(String ext) {
            this.ext = ext;
        }

        public boolean accept(File dir, String name) {
            return (name.endsWith(ext));
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你尝试过BufferedWriter吗?

File file = new File("Test.txt");
FileOutputStream fos = new FileOutputStream(file);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
bw.write("something");
bw.newLine();
bw.close();