Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用FileWriter打印新行_Java - Fatal编程技术网

Java 使用FileWriter打印新行

Java 使用FileWriter打印新行,java,Java,这是一种加密/解密文件(SourceFile.txt)并将结果保存在另一个文件(ConvertedFile.txt)中的方法 如果源文件中有如下内容 玛丽有 一点点 羔羊 convertedFile包含以下加密内容: 李嘉诚 e pmxxpi peqf 是否有任何方法可以使用FileWriter在每行末尾打印“\n”(新行) 我甚至试过了。写(10)。。。不起作用您错过了while循环的大括号 while(sc.hasNextLine()) { line = sc.nextLine();

这是一种加密/解密文件(SourceFile.txt)并将结果保存在另一个文件(ConvertedFile.txt)中的方法

如果源文件中有如下内容

玛丽有

一点点

羔羊

convertedFile包含以下加密内容:

李嘉诚 e pmxxpi peqf

是否有任何方法可以使用FileWriter在每行末尾打印“\n”(新行)


我甚至试过了。写(10)。。。不起作用

您错过了while循环的大括号

while(sc.hasNextLine())
{
    line = sc.nextLine();
    st = new StringTokenizer(line, " ");

    while(st.hasMoreTokens()) 
    {   // Add braces here for newline
        out.write(c.convert(st.nextToken(), index) + " ");
        out.write(10);  //Without braces it will be skipped.
    }
}

你错过了while循环的括号

while(sc.hasNextLine())
{
    line = sc.nextLine();
    st = new StringTokenizer(line, " ");

    while(st.hasMoreTokens()) 
    {   // Add braces here for newline
        out.write(c.convert(st.nextToken(), index) + " ");
        out.write(10);  //Without braces it will be skipped.
    }
}
使用打印机

PrintWriter p = new PrintWriter(out);
p.println(str);
使用打印机

PrintWriter p = new PrintWriter(out);
p.println(str);

您可以将
FileWriter
包装在
BufferedWriter
中,并使用
newLine()


您可以将
FileWriter
包装在
BufferedWriter
中,并使用
newLine()

然后,该文件包含:

Rakesh
KR
或者您可以使用
BufferedWriter
作为

public void fileWrite(String fileName,ArrayList<String> str){
        File           f ;
        FileWriter     fw = null;
        BufferedWriter bw = null;
        try {
            f  = new File(fileName);
            fw = new FileWriter(f.getAbsoluteFile());
            bw = new BufferedWriter(fw);
            for(String i:str){
                bw.write(i);
                bw.newLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                if(bw!=null)
                    bw.close();
                if(fw!=null)
                    fw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }   
    }
public void fileWrite(字符串文件名,ArrayList str){
文件f;
FileWriter fw=null;
BufferedWriter bw=null;
试一试{
f=新文件(文件名);
fw=新文件编写器(f.getAbsoluteFile());
bw=新的缓冲写入程序(fw);
for(字符串i:str){
bw.write(i);
换行符();
}
}捕获(IOE异常){
e、 printStackTrace();
}最后{
试一试{
如果(bw!=null)
bw.close();
如果(fw!=null)
fw.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}   
}
然后,该文件包含:

Rakesh
KR
或者您可以使用
BufferedWriter
作为

public void fileWrite(String fileName,ArrayList<String> str){
        File           f ;
        FileWriter     fw = null;
        BufferedWriter bw = null;
        try {
            f  = new File(fileName);
            fw = new FileWriter(f.getAbsoluteFile());
            bw = new BufferedWriter(fw);
            for(String i:str){
                bw.write(i);
                bw.newLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            try {
                if(bw!=null)
                    bw.close();
                if(fw!=null)
                    fw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }   
    }
public void fileWrite(字符串文件名,ArrayList str){
文件f;
FileWriter fw=null;
BufferedWriter bw=null;
试一试{
f=新文件(文件名);
fw=新文件编写器(f.getAbsoluteFile());
bw=新的缓冲写入程序(fw);
for(字符串i:str){
bw.write(i);
换行符();
}
}捕获(IOE异常){
e、 printStackTrace();
}最后{
试一试{
如果(bw!=null)
bw.close();
如果(fw!=null)
fw.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}   
}

Wild guess:您在windows上,应该写\r\n如何。。。这确实奏效了。。。。谢谢…@SBI,10是newline的ASCII值
\n
@Masud当然是。但是Windows使用回车符和换行符组合\r\n,而unix只使用换行符\r\n。这是关于空白如何工作的传统处理方法,可以追溯到旧打字机。胡乱猜测:您在windows上,应该如何写。。。这确实奏效了。。。。谢谢…@SBI,10是newline的ASCII值
\n
@Masud当然是。但是Windows使用回车符和换行符组合\r\n,而unix只使用换行符\r\n。这是关于空白如何工作的传统处理方法,可以追溯到老式打字机。如果我加上这些大括号,每个单词都将被打印在一行中。。。。我不想那样…如果我加上这些大括号,每个单词都会被打印在一行中。。。。我不想那样。。。。