2075 / Java / Запис
// \r\n - новий рядок в String
1. Використовуйте потоки, коли данні не оброблені
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();
}
}
2. Клас Files з Java 1.7 (всередині використовує потоки)
import java.io.*;
import java.nio.file.Files;
import java.nio.file.Paths;
String data = "2075";
try
{
Files.write(Paths.get("1.txt"), data.getBytes());
}
catch (IOException e)
{
e.printStackTrace();
}
3. Використовуйте 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();
}
}
4. Використовуйте FileWriter коли мало операцій запису
import java.io.*;
String data = "2075";
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();
}
}