writing a string to a file
Method One
public void Writestringtofile (String filePath) {
try {
file File = new file (FilePath);
PrintStream PS = new PrintStream (new FileOutputStream (file));
Ps.println ("http://www.jb51.net");//write String
ps.append ("Http://www.jb51.net") to the file;//Add String on existing Foundation
catch ( FileNotFoundException e) {
//TODO auto-generated catch block
e.printstacktrace ();
}
}
Method Two
public void WriteStringToFile2 (String filePath) {
try {
FileWriter fw = new FileWriter (FilePath, true);
BufferedWriter bw = new BufferedWriter (FW);
Bw.append ("Add a string on an existing basis");
Bw.write ("abc\r\n");//Add string to existing file
bw.write ("def\r\n");
Bw.write ("Hijk");
Bw.close ();
Fw.close ();
} catch (Exception e) {
//TODO auto-generated catch block
e.printstacktrace ();
}
}
Method Three
public void WriteStringToFile3 (String filePath) {
try {
PrintWriter pw = new PrintWriter (New FileWriter (FilePath ));
PW.PRINTLN ("abc");
Pw.println ("def");
Pw.println ("Hef");
Pw.close ();
} catch (IOException e) {
//TODO auto-generated catch block
e.printstacktrace ();
}
}
method Four
public void WriteStringToFile4 (String filePath) {
try {
Randomaccessfile rf = new Randomaccessfile (FilePath, " RW ");
Rf.writebytes ("op\r\n");
Rf.writebytes ("app\r\n");
Rf.writebytes ("hijklllll");
Rf.close ();
} catch (IOException e) {
e.printstacktrace ();
}
}
Method Five
public void WriteStringToFile5 (String filePath) {
try {
FileOutputStream fos = new FileOutputStream (FilePath); c2/>string s = "Http://www.jb51.netl";
Fos.write (S.getbytes ());
Fos.close ();
} catch (Exception e) {
//TODO auto-generated catch block
e.printstacktrace ();
}
}
read the contents of the file to a string
Method One
/** * reads files in bytes and is often used to read binary files, such as pictures, sounds, images, and so on.
* Of course, it can also read strings. * * * seems to say that the network environment is more complex, each pass over the characters are fixed long, in this way. */Public String readString1 () {try {//fileinputstream) is used to read raw byte streams such as image data.
To read character streams, consider using FileReader.
FileInputStream Instream=this.openfileinput (file_name);
Bytearrayoutputstream BOS = new Bytearrayoutputstream ();
Byte[] Buffer=new byte[1024];
int length=-1;
while (length = instream.read (buffer)!=-1) {bos.write (buffer,0,length);
The interpretation of the Write method SDK is writes count bytes from the byte array buffer starting at the offset index to this stream.
When the stream closes the contents still exist} bos.close ();
Instream.close ();
return bos.tostring (); Why not take out the size of the buffer at a lump-sum. Why are you writing to the BOS?
return new (buffer, "UTF-8") not better?
return new String (Bos.tobytearray (), "UTF-8");
}
}
Method Two
Someone said FileReader read the string better, then use the FileReader bar
//read one at a time is not a bit inefficient.
private static String readString2 ()
{
stringbuffer str=new stringbuffer ("");
File File=new file (file_in);
try {
FileReader fr=new filereader (file);
int ch = 0;
while (ch = fr.read ())!=-1)
{
System.out.print ((char) ch+ "");
}
Fr.close ();
} catch (IOException e) {
//TODO auto-generated catch block
e.printstacktrace ();
System.out.println ("File reader Error");
}
return str.tostring ();
}
Method Three
/* Read strings by byte/////////////////////////////////////
Str= "";
File File=new file (file_in);
try {
FileInputStream in=new fileinputstream (file);
Size is the length of the string, and here is a one-time read
int size=in.available ();
Byte[] Buffer=new byte[size];
In.read (buffer);
In.close ();
Str=new String (buffer, "GB2312");
} catch (IOException e) {
//TODO auto-generated catch block return
null;
E.printstacktrace ();
}
return str;
}
method Four
/*inputstreamreader+bufferedreader reads a string, the InputStreamReader class is a bridge from bytes to character streams////* Read the formatted data to be processed is a good way to read it/* privat
e static String ReadString4 () {int len=0;
StringBuffer str=new StringBuffer ("");
File File=new file (file_in);
try {fileinputstream is=new fileinputstream (file);
InputStreamReader isr= New InputStreamReader (IS);
BufferedReader in= New BufferedReader (ISR);
String Line=null;
while ((Line=in.readline ())!=null) {if (len!= 0)//handling line breaks
Str.append ("\ r \ n" +line);
else {str.append (line);
} len++;
} in.close ();
Is.close ();
catch (IOException e) {//TODO auto-generated catch block E.printstacktrace ();
} return str.tostring ();
}
From
1, http://www.jb51.net/article/49270.htm
2, http://blog.csdn.net/stormbjm/article/details/19545941