java 随机写入文件
时间: 2023-10-14 14:53:01 浏览: 94
Java FileWriter 是一个用于将数据写入文件的类。它可以将字符、字符串和数字等数据写入文件中。使用 FileWriter 写入文件时,需要指定文件名和文件路径。在写入文件时,可以选择覆盖原有文件内容或者在文件末尾添加新的内容。使用 FileWriter 写入文件时,需要注意文件编码的问题,以免出现乱码等问题。
相关问题
java 通过SocketChannel接收MappedByteBuffer文件块 用randomAccessFile随机写入文件块 拼接完整文件 完整代码
下面是一个使用SocketChannel接收MappedByteBuffer文件块并使用RandomAccessFile随机写入文件块的示例代码。该代码可以拼接接收到的文件块以获取完整的文件。
```java
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.channels.SocketChannel;
public class FileReceiver {
public static void main(String[] args) {
try {
int bufferSize = 1024; // 缓冲区大小
long fileSize = 0; // 文件大小
long receivedSize = 0; // 已接收的文件大小
// 创建RandomAccessFile以写入文件
RandomAccessFile file = new RandomAccessFile("output.txt", "rw");
FileChannel fileChannel = file.getChannel();
// 创建SocketChannel以接收文件块
SocketChannel socketChannel = SocketChannel.open();
socketChannel.configureBlocking(true);
socketChannel.bind(null);
socketChannel.connect(remoteSocketAddress); // 连接到发送方的Socket地址
// 接收文件块并写入文件
ByteBuffer buffer = ByteBuffer.allocate(bufferSize);
while (receivedSize < fileSize) {
int bytesRead = socketChannel.read(buffer);
if (bytesRead == -1) {
break;
}
buffer.flip();
fileChannel.write(buffer);
buffer.clear();
receivedSize += bytesRead;
}
// 关闭连接和文件
socketChannel.close();
fileChannel.close();
file.close();
System.out.println("文件接收完成!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
请注意,上述代码中的`remoteSocketAddress`应替换为发送方的Socket地址。此外,您还需要根据实际情况调整缓冲区大小和文件路径。
希望这可以帮助到您!如果您有任何其他问题,请随时提问。
java随机产生100个数写入文件
在Java中,你可以使用`java.util.Random`类生成随机数,并使用`FileWriter`和`BufferedWriter`将这些数字写入文件。以下是一个简单的示例:
```java
import java.io.*;
import java.util.Random;
public class RandomNumbersToFile {
public static void main(String[] args) {
int numOfRandomNumbers = 100;
String fileName = "random_numbers.txt";
try {
// 创建随机数生成器
Random random = new Random();
// 创建FileWriter对象
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
for (int i = 0; i < numOfRandomNumbers; i++) {
// 生成一个介于0到100之间的整数
int randomNumber = random.nextInt(101);
// 写入文件
writer.write(randomNumber + "\n");
}
// 关闭缓冲区并文件
writer.close();
System.out.println("Random numbers have been written to the file.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个程序会创建一个名为`random_numbers.txt`的文件,包含100个从0到100的随机整数。每个数字之间由换行符`\n`分隔。
阅读全文