導航:首頁 > 版本升級 > java獲取伺服器上的文件映射

java獲取伺服器上的文件映射

發布時間:2023-07-26 02:42:56

java 讀取 500M文件中間的內容

以下方案切實可行~

import java.io.File;
import java.io.RandomAccessFile;
import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel;

public class t {
public static void main(String[] args) throws Exception {
final int BUFFER_SIZE = 0x300000;// 緩沖去大小為3M

File f = new File("C:\\Documents and Settings\\XHY\\桌面\\a.txt");
/**
* map(FileChannel.MapMode mode,long position, long size)
* mode - 根據是按只讀、讀取/寫入或專用(寫入時拷貝)來映射文件,分別為 FileChannel.MapMode 類中所定義的 READ_ONLY、READ_WRITE 或 PRIVATE 之一
* position - 文件中的位置,映射區域從此位置開始;必須為非負數
* size - 要映射的區域大小;必須為非負數且不大於 Integer.MAX_VALUE
* 所以若想讀取文件後半部分內容,如例子所寫;若想讀取文本後1/8內容,需要這樣寫map(FileChannel.MapMode.READ_ONLY, f.length()*7/8,f.length()/8)
*/
MappedByteBuffer inputBuffer = new RandomAccessFile(f, "r").getChannel().map(FileChannel.MapMode.READ_ONLY, f.length()/2,f.length()/2);
byte[] dst = new byte[BUFFER_SIZE];// 每次讀出3M的內容
Long start = System.currentTimeMillis();
for (int offset = 0; offset < inputBuffer.capacity(); offset += BUFFER_SIZE) {
if (inputBuffer.capacity() - offset >= BUFFER_SIZE) {
for (int i = 0; i < BUFFER_SIZE; i++)
dst[i] = inputBuffer.get(offset + i);
} else {
for (int i = 0; i < inputBuffer.capacity() - offset; i++)
dst[i] = inputBuffer.get(offset + i);
}
int length = (inputBuffer.capacity()%BUFFER_SIZE==0)?BUFFER_SIZE:inputBuffer.capacity()%BUFFER_SIZE;

// System.out.println(new String(dst,0,length));//new String(dst,0,length)這樣可以取出緩存保存的字元串,可以對其進行操作
}
long end = System.currentTimeMillis();
System.out.println("讀取文件文件一半內容花費:"+(end-start)+"毫秒");
}
}

❷ java 讀取伺服器上的文件

File file = new File(ServletActionContext.getServletContext().getRealPath(「/」),"test.txt");
"/"是web項目的根目錄,然後就和讀本地文件的一樣

❸ java 如何獲取另外一台機器上的文件

另外一台機器的文件要共享才行吧,最直接的其它機器共享後在本地建一個網路映射,就像讀本機的文件一樣

❹ 如何在java中操作映射盤(網路盤)的文件

通過io流讀入,然後寫入response

❺ 怎麼使用Java完成下載excel文件,伺服器上excel文件是直接存在的而不是導出的(必須使用action)

寫個文件抄專門提供下載文件也可以,但那樣對於你這種情況明顯多餘了,把伺服器端Excel文件的MIME類型映射信息改成application/octet-stream即可。這個映射可以在web.xml中定義。

❻ java在伺服器上獲取本項目文件問題

request.getSession().getServletContext().getRealPath("/")+"img/hswatermark.png";
-------------------------------------------------------------------------------------------

❼ [java]如何在windows下讀取遠程的linux下面的文件

這個功能和系統無關……
http ftp 都行,直接網路映射也可以,但是需要對方的 Linux 支持。
所以一般還是 http/ftp 方便很多。
-----------
update:只要兩邊都支持的文件傳送協議就行了。

❽ Java怎麼讀取遠程伺服器上的共享文件夾

ava獲取遠程文件的方式在我的開發過程中使用過兩種
1。通過http請求進行靜態資源,首先確定文件的URL地址,然後通過URLConnection進行連接,然後通過讀取連接中返回的InputStream,再通過文件輸出流FileOutputStream進行存儲(下載)。
2.通過FTP或SFTP進行遠程文件的下載,具體實現有很多第三方的包,網路即可。

閱讀全文

與java獲取伺服器上的文件映射相關的資料

熱點內容
linux中的物理地址和虛擬地址 瀏覽:493
有哪些app可以接游戲訂單 瀏覽:472
蘋果硬碟數據恢復要多少錢 瀏覽:394
js綁定下拉框資料庫數據 瀏覽:448
cad文件怎麼復制到另一個文件里邊 瀏覽:858
dxp鑽孔文件 瀏覽:631
iphone大悅城換機 瀏覽:538
找結婚對象上什麼網站 瀏覽:974
學生信息管理系統程序設計報告 瀏覽:640
微信文件怎麼刪除怎麼恢復 瀏覽:407
編程程序怎麼復制 瀏覽:467
文件更改 瀏覽:327
冰點文件路徑 瀏覽:730
軟體一點開文件就關閉 瀏覽:88
網路如何把人捧紅 瀏覽:961
軟體傳輸文件 瀏覽:184
密碼記錄器ios 瀏覽:412
兩個電腦數據怎麼一樣 瀏覽:829
順豐有什麼買東西的app 瀏覽:377
數位板word 瀏覽:939

友情鏈接