String str1 = "1";
        String str2 = "2";
        String str3 = "3";
        String str = str1 + str2 +str3;        FileOutputStream out = new FileOutputStream( fileName );
        out.write( str );
        out.close();

解决方案 »

  1.   

    String str = "";
    String data = "";
    BufferedReader Reader = new BufferedReader(new FileReader("file.txt"));
    while(true){
      str = Reader.readLine();
      if (str == null) break;
      data += str;
    }
    Reader.close();
    //return data;
      

  2.   

    我想是我没说清楚。
    telenths(非法操作)是实现将文件读成穿串。
    我的意思是说,文件读成的串是变长的。
    我要将这三个串存为文件。
    在以后从该文件中将三个串分别读出来。怎么实现。
    顺便问一下:有谁懂签名啊?请问用DSA算法对定长的串签的名长度是否固定?
    非常感谢。
      

  3.   

    按你的要求,我的思路是这样的
    因为串里可能包含 \n 
    所以读文件时必须得知道串的长度文件包含两部分信息
    N
    Data
    读文件时先读取文件长度,再读取数据,同时与长度比较
    下面是我的 Code :
    //*****************************************
    写文件:
    FileWriter Writer = new FileWriter("file.txt");
      Writer.write(Data1.length()+"\n");
      Writer.write(Data1+"\n");  Writer.write(Data2.length()+"\n");
      Writer.write(Data2+"\n");  Writer.write(Data3.length()+"\n");
      Writer.write(Data3+"\n");  Writer.flush();
    Writer.close();//******************************************
    读文件:
    String str = "";
    String[] Data = {"","",""};
    int size;
    try{
    BufferedReader Reader = new BufferedReader(new FileReader("file.txt"));
      for(int i = 0;i < 3;i++){
        while(true){
          str = Reader.readLine();
          if(str.equals("")) continue;
          size = new Integer(str).intValue();  //Exception
          break;
        }
        while(true){
          str = Reader.readLine();
          if (str == null)  break;
          Data[i] += str;
          if(Data[i].length() < size)  continue;
          else break;
        }
      }
      Reader.close();
    }catch(Exception e){}
    //**************************************************
    可是好像有点问题,也许还有更好的思路,大家拿出来讨论讨论
      

  4.   

    TO:telenths(非法操作) 
       非常感谢你的程序。
        但我有一个问题:这里一定要考虑  \N 吗?
      我的具体意思是这样的:
       (1)有一个文件file.txt(这个文件是由用户选的,长度不定)。
    (2)有一个50字节的串str1。这个串是我以前将一个结构用ObjectOutputStream写到文件中的,现在将它读出来。不一定读成串的形式,我现在只会把他用ObjectInputStream读成以前的结构。但我想,应该可以把它读为串吧。因为保存他的文件可以用记事本打开。
    (3)有另一个串str2是60字节的。
      我想将这三部分用一个文件保存。用邮件发给对方。对方收到我发的文件,能将这三部分分别读出来。
       我的意思是,只要能把他们读出就可。不一定要是串的形式。
      能不能不考虑  文件中的"\n"这样的东西?
      

  5.   

    如果已经知道了串的长度就好办多了
    建议你这样做:
    文件以此写入:
    50字节的串str1
    60字节的串str2
    file.txt 的内容读文件时可以用 RandomAccessFile(随机存取)
    先读取50个字节 -> byte[] -> str1
    再读取60个字节 -> byte[] -> str2
    最后用 readLine() 方法把剩下的读完至于 \n 我想因该考虑进去,
    因为 Java 在读文件时会把 \n 也作为一个 byte
    而 readLine() 是以 \n 作为结束标志的
      

  6.   

    telenths(非法操作) 
    见得很具体,很好啊。
    快给他分数把