導航:首頁 > 編程語言 > 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線程寫文件相關的資料

熱點內容
phpgetcookie 瀏覽:137
程序員最煩遇到的單詞 瀏覽:122
開始伺服器升級需要什麼 瀏覽:977
gcc中的編譯選項 瀏覽:185
程序員長沙開滴滴 瀏覽:136
十幾加幾的進位加法演算法 瀏覽:381
c語言實現字母加密成字母 瀏覽:325
linux重啟java服務 瀏覽:50
ubuntu的命令行在哪裡 瀏覽:979
伺服器tk是什麼意思 瀏覽:394
防止軟體加密碼卸載 瀏覽:180
自建伺服器與雲伺服器 瀏覽:541
已解壓車能過戶能買嗎 瀏覽:774
上網行為linux 瀏覽:352
解壓對身體的好處 瀏覽:71
php服務端框架 瀏覽:454
gitlabpdf 瀏覽:611
大專程序員面試公司 瀏覽:950
iphone相片不能新建文件夾 瀏覽:450
底部加密封條 瀏覽:498