Запис в файл Java
// \r\n - новий рядок в String
/*** Використовуйте потоки, коли данні не оброблені ***/
// import java.io.*;
String data = "Save to file"; // кирилиця може обрізатися!
OutputStream os = null;
try
{
os = new FileOutputStream(new File("1.txt"));
os.write(data.getBytes(), 0, data.length());
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
os.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
/*** Клас Files з Java 1.7 (всередині використовує потоки) ***/
// import java.io.*;
// import java.nio.file.Files;
// import java.nio.file.Paths;
String data = "Запис цього рядка в файл";
try
{
Files.write(Paths.get("1.txt"), data.getBytes());
}
catch (IOException e)
{
e.printStackTrace();
}
/*** Використовуйте BufferedWriter коли багато операцій запису, це економить час ***/
// import java.io.*;
int lines = 10000;
String data = "Запис цього рядка в файл 10000 раз";
File file = new File("1.txt");
FileWriter fr = null;
BufferedWriter br = null;
String dataWithNewLine=data+System.getProperty("line.separator");
try
{
fr = new FileWriter(file);
br = new BufferedWriter(fr);
for(int i = lines; i>0; i--) // 10000 раз
{
br.write(dataWithNewLine);
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
br.close();
fr.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
/*** Використовуйте FileWriter коли мало операцій запису ***/
// import java.io.*;
String data = "Я запишу цей рядок в файл";
File file = new File("1.txt");
FileWriter fr = null;
try
{
fr = new FileWriter(file);
fr.write(data);
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
fr.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}