A. 在java中,怎樣將圖片從一個地方復制到另一個地方(最好有代碼)
JDK寶典里有這樣的一段代碼,你調用File方法就可以了:
/**
* 復制單個文件, 如果目標文件存在,則不覆蓋。
* @param srcFileName 待復制的文件名
* @param destFileName 目標文件名
* @return 如果復製成功,則返回true,否則返回false
*/
public static boolean File(String srcFileName, String destFileName){
return CopyFileUtil.File(srcFileName, destFileName, false);
}
/**
* 復制單個文件
* @param srcFileName 待復制的文件名
* @param destFileName 目標文件名
* @param overlay 如果目標文件存在,是否覆蓋
* @return 如果復製成功,則返回true,否則返回false
*/
public static boolean File(String srcFileName,
String destFileName, boolean overlay) {
//判斷原文件是否存在
File srcFile = new File(srcFileName);
if (!srcFile.exists()){
System.out.println("復制文件失敗:原文件" + srcFileName + "不存在!");
return false;
} else if (!srcFile.isFile()){
System.out.println("復制文件失敗:" + srcFileName + "不是一個文件!");
return false;
}
//判斷目標文件是否存在
File destFile = new File(destFileName);
if (destFile.exists()){
//如果目標文件存在,而且復制時允許覆蓋。
if (overlay){
//刪除已存在的目標文件,無論目標文件是目錄還是單個文件
System.out.println("目標文件已存在,准備刪除它!");
if(!DeleteFileUtil.delete(destFileName)){
System.out.println("復制文件失敗:刪除目標文件" + destFileName + "失敗!");
return false;
}
} else {
System.out.println("復制文件失敗:目標文件" + destFileName + "已存在!");
return false;
}
} else {
if (!destFile.getParentFile().exists()){
//如果目標文件所在的目錄不存在,則創建目錄
System.out.println("目標文件所在的目錄不存在,准備創建它!");
if(!destFile.getParentFile().mkdirs()){
System.out.println("復制文件失敗:創建目標文件所在的目錄失敗!" );
return false;
}
}
}
//准備復制文件
int byteread = 0;//讀取的位數
InputStream in = null;
OutputStream out = null;
try {
//打開原文件
in = new FileInputStream(srcFile);
//打開連接到目標文件的輸出流
out = new FileOutputStream(destFile);
byte[] buffer = new byte[1024];
//一次讀取1024個位元組,當byteread為-1時表示文件已經讀完
while ((byteread = in.read(buffer)) != -1) {
//將讀取的位元組寫入輸出流
out.write(buffer, 0, byteread);
}
System.out.println("復制單個文件" + srcFileName + "至" + destFileName + "成功!");
return true;
} catch (Exception e) {
System.out.println("復制文件失敗:" + e.getMessage());
return false;
} finally {
//關閉輸入輸出流,注意先關閉輸出流,再關閉輸入流
if (out != null){
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (in != null){
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
B. Java:為什麼傳輸圖片是常用base64字元串轉碼,而不是直接傳輸byte[]呢求解
先說說base64吧:對於圖片來說,一個位元組佔八位,如果都換成byte[]的話,會很長,不便於傳輸,那麼就把沒6個位元組來對應一個新的字元(如010011是19,對應base64編碼的T),,所以這個目的主要是精簡數據,便於傳輸;
另外常用的用途是:做不嚴格的加密用,比如常見的磁力鏈接,你懂的;因為它相對於嚴格加密省時省力,速度快,況且可恢復(如果用MD5就不行)
C. java上傳圖片到資料庫
用java如何一次性上傳多張圖片到資料庫1、只要在t_b中,設計列為3列即可。id,t_a_id,picture添加多個圖片,不過是sql、語句。最簡單的辦法,是利用for()循環,如:for(inti=0;i圖片數;i++){//你的sql操作語句如。
2、首先,文本類的可以放在request中通過request.getAttribute(name)獲取。圖片你在前端放地址,後端也是像前面通過request.getAttribute(name)獲取後存入資料庫。這是jsp+servlet的做法。jsp有九大內置對象用於傳遞數據。
3、上傳插件的選擇:此篇博文選擇的是jQuery的zyupload文件上傳插件;上傳請求發起後,java代碼的處理:你是要將上傳的圖片只保存在伺服器還是只保存在資料庫還是說兩者都採取。
4、Android保存到資料庫一般用SQLite,圖片要是直接保存到資料庫裡面去,SQLite是用一種叫BLOB(大二進制對象)的類型保存的,在Java中需要用InputStream(讀取時)和OutputStream(寫入時)進行處理。
java項目客戶上傳的圖片放到哪好
1、圖片上傳一般考慮兩種辦法:上傳到伺服器,資料庫中存儲伺服器上圖片的相對路徑;轉換為二進制流存入到資料庫中。現在常用的做法都是選擇第一種,因為第二種太占資料庫空間,而且查找讀取效率不高。
2、上傳到伺服器上會比較好,資料庫可以記錄一些必要的信息,比如文件的名稱,類型(擴展名),大小,創建時間及誰的文件等等;如果把文件放入資料庫,讀寫性能不如文件系統,還會加大資料庫的壓力。
3、放到任意文件夾都可以,看你的管理方式。放到和程序目錄下的某個文件夾中。
求java把圖片寫入mysql資料庫的代碼!http://tech.it16com/jd/2007-12-24/20071224104114shtml建議Google或者網路。批量讀取和插入根據這網頁里的內容可以自己想想就出來了。
直接取,然後用BASE64Decoderbase64=newBASE64Decoder();byte[]bs1=base6decodeBuffer(zpstrgetText());outs=response.getOutputStream();outs.write(bs1);顯示到頁面。。
大概流程:上傳插件的選擇:此篇博文選擇的是jQuery的zyupload文件上傳插件;上傳請求發起後,java代碼的處理:你是要將上傳的圖片只保存在伺服器還是只保存在資料庫還是說兩者都採取。
怎樣在mysql中存儲比較大的圖片?如果你想把二進制的數據,比如說圖片文件和HTML文件,直接保存在你的MySQL資料庫,那麼這篇文章就是為你而寫的!我將告訴你怎樣通過HTML表單來儲存這些文件,怎樣訪問和使用這些文件。