Java 为什么要将字符串变为空?

Java 为什么要将字符串变为空?,java,Java,如果我运行这段代码,append.txt的前28行充满了数字,但是它是空的,为什么?它还应该包含一些数字!! 绳子太大了吗 try { OutputStream os = new FileOutputStream(new File("append.txt"), true); String seq = "11", output = ""; int u = 1; while(u<=37) {

如果我运行这段代码,append.txt的前28行充满了数字,但是它是空的,为什么?它还应该包含一些数字!! 绳子太大了吗

    try {
        OutputStream os = new FileOutputStream(new File("append.txt"), true);
        String seq = "11", output = "";
        int u = 1;
        while(u<=37) 
        {
            String temp = "";
            int iter = 1;
            for(int i=0; i<seq.length()-1; i++) {
                if(seq.charAt(i)==seq.charAt(i+1)) {
                    iter++;
                    if(i==seq.length()-2) {
                        temp += iter + "" + seq.charAt(i);
                        iter=1;
                    }
                }else {
                    temp += iter + "" + seq.charAt(i);
                    if(i==seq.length()-2) {
                        temp += "1" + seq.charAt(i+1);
                    }
                    iter=1;
                }
            }
            seq=temp;
            output += seq + "\n";
            System.out.println(u + ": " + seq.length());
            u++;
        }
        os.write(output.getBytes(), 0, output.length());
        os.close();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
试试看{
OutputStream os=新文件OutputStream(新文件(“append.txt”),true;
字符串seq=“11”,输出=”;
INTU=1;
(uOk,我有一个解决方案:

我使用Eclipse来显示文本文件,但它神奇地不显示文件的其余部分。如果我使用任何其他文本编辑器,它将显示其余部分。可能Eclipse txt编辑器只能显示有限的文本…

如果
字符串太大而无法创建,您将得到
OutOfMemoryException
。事实并非如此,您可以这样做r程序工作并打印37行数字,最后一行长度为48410个字符


您用于查看输出的编辑器很可能无法呈现这些很长的行。它在IntelliJ IDEA中对我有效。

,我尝试了您的代码,它打印了37行文本。您如何查看输出文件?虽然字符串长度和字节[],但这似乎工作正常长度并不总是相同的,在本例中它们似乎是相同的,所以只需使用os.write(output.getBytes());是的,就是这样。我正在使用eclipse的内部编辑器…:)