导航:首页 > 编程语言 > java线程写文件

java线程写文件

发布时间:2023-08-25 07:46:22

java大数据 多线程写文件

1、采用public static的变量存储这一数值,每个线程都往这一共有静态变量里写入已复制大小。 2、采用Callable方式实现多线程,将结果作为返回值返回到主线程。这一方法只能在所有子线程都完成之后才能通过future获取。

㈡ java多线程读写文件

public static void main(String[] args) {
File data = new File("data.txt");
try {
InputStreamReader read = new InputStreamReader(new FileInputStream(
data), "UTF-8");
final BufferedReader bufferedReader = new BufferedReader(read);
for (int i = 0; i < 5; i++) {
new Thread(new Runnable() {
@Override
public void run() {
String lineTXT = null;
synchronized (bufferedReader) {
try {
while ((lineTXT = bufferedReader.readLine()) != null) {
System.out.println(Thread.currentThread()+":"+lineTXT);
bufferedReader.notify();
bufferedReader.wait();
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}finally{
bufferedReader.notifyAll();
}
}
}
}).start();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}

㈢ 某公司面试题java11使用并发多线程加速下载文件,如何写

先建一个用于下载文件的多线程类,通常要指明下载文件的位置(URL)和文件名以及保存到本地的路径
public class FileDownloader implements Runnable
{
private static File file;//要下载的文件
private static String url;//文件所在URL
private static File storagePath;//保存路径
public static void initialize(File file, String url, File storagePath)//初始化静态字段,初始化的代码不用我写吧
}
然后,指明同步块,目的是让各个线程共享一个文件资源,那样它们可以知道同一个文件的下载状况(即获取其他线程下载文件到哪个位置,以防重复下载)
public synchronized void fileDownload()//此方法用于下载文件,一般的Java程序员都会写,实在不会我可以帮你补上
或者
public void fileDownload(){
synchronized(file){
synchronized(url){
synchronized(storagePath){
}}}}//给每个字段加上同步块
run()方法的实现就以自己的喜好去写吧,只要里面调用了fileDownload()方法就行。
public void run(){

fileDownload();//下载文件

}
然后,在主类的main方法中创建一个多线程数组:
Runnable[] fds=new FileDownloader[线程数量];//fds为file_downloaders缩写
Thread[] threads=new Thread[线程数量];
最后使用循环把所有的线程逐一启动。
for(int i=0;i<线程数量;i++){
threads[i]=new Thread(fds[i]);
threads[i].start();
}

阅读全文

与java线程写文件相关的资料

热点内容
水空调需要压缩机吗 浏览:824
h3cdns配置命令 浏览:735
曹操传找不到视频解压文件 浏览:939
zblogphp插件 浏览:649
好兴动app怎么掌上取现 浏览:133
python折旧率 浏览:538
涟源云服务器 浏览:992
linux中代表什么 浏览:33
androidphone模块 浏览:35
linux中断表 浏览:177
文本写的java如何编译运行 浏览:524
单片机pwm控制舵机 浏览:318
压缩机sd是什么 浏览:772
php获取数据转json数据 浏览:525
程序员入职比期望薪资高 浏览:889
苹果电脑怎么在桌面建新文件夹 浏览:526
苹果上不小心买错了app怎么撤销 浏览:845
苹果手机在设置怎么卸载app 浏览:317
我的世界基岩版正版服务器地址 浏览:562
vci命令 浏览:834