『壹』 怎樣在java里用URL引入圖片引入圖片
讀取圖片可以有以下兩種方法:
①:ImageIO.read(new File("這里可以寫目錄,比如您版提到的src/images/某張圖片名權"));
②:new ImageIcon("目錄").getImage();
這兩個方法都返回一個圖片對象。可以用一個Image對象接收一下。
相對路徑是指您所運行的程序的包 所在的文件夾開始的路徑。
一般來說,上面兩種讀取方法讀取時,是從項目的目錄下開始找文件的。
所以,您把圖片放在src下的images包中,正確的讀取方法應該是:
Image img=ImageIO.read(new File("src/images/圖片名"));或者
Image img=new ImageIcon("src/images/圖片名").getImage();
得到這樣一個Image對象後,就可以使用了。
『貳』 java圖片路徑問題
<img src="111.png" /> 引用的是同一目錄下的,你上面那段代碼根本就沒輸出到那個目錄當然找不到了。 對於一個項目來說圖片有個專有的文件夾存放,比如在WebRoot的imageFolder下,那麼你在輸出流寫圖片的時候要指定好這個相對路徑,然後頁面上用<img src="../imageFolder/111.png" />
通常來說解決方案是這樣的:以一個圖片上傳的例子為例,首先會在xml文件中配置好上傳文件的絕對路徑(例如C:/XXDX/XX這樣,將來部署到伺服器上時,修改配置文件路徑就好了)然後比如我們上傳的圖片都是用輸入流寫到xx/xx/war/upload中 (我看你後增加的代碼中沒有flush(),是不對的) 然後在頁面jsp中用/upload/xxx.png取值,之所以這么取是因為「/」是war根目錄,當然你要是用"../"那種方式你要查明白你現在的目錄級別。
『叄』 java.io的Java流輸入輸出原理
Java把這些不同來源和目標的數據都統一抽象為數據流。Java語言的輸入輸出功能是十分強大而靈活的,美中不足的是看上去輸入輸出的代碼並不是很簡潔,因為你往往需要包裝許多不同的對象。
在Java類庫中,IO部分的內容是很龐大的,因為它涉及的領域很廣泛:標准輸入輸出,文件的操作,網路上的數據流,字元串流,對象流,zip文件流。 按流向分:
輸入流: 程序可以從中讀取數據的流。
輸出流: 程序能向其中寫入數據的流。
按數據傳輸單位分:
位元組流: 以位元組為單位傳輸數據的流
字元流: 以字元為單位傳輸數據的流
按功能分:
節點流: 用於直接操作目標設備的流
過濾流: 是對一個已存在的流的鏈接和封裝,通過對數據進行處理為程序提供功能強大、靈活的讀寫功能。 JDK所提供的所有流類位於java.io包中,都分別繼承自以下四種抽象流類。
InputStream:繼承自InputStream的流都是用於向程序中輸入數據的,且數據單位都是位元組(8位)。
OutputStream:繼承自OutputStream的流都是程序用於向外輸出數據的,且數據單位都是位元組(8位)。
Reader:繼承自Reader的流都是用於向程序中輸入數據的,且數據單位都是字元(16位)。
Writer:繼承自Writer的流都是程序用於向外輸出數據的,且數據單位都是字元(16位)。 BufferedInputStream BufferedInputStream 為另一個輸入流添加一些功能,即緩沖輸入以及支持 mark 和 reset 方法的能力。 BufferedOutputStream 該類實現緩沖的輸出流。 BufferedReader 從字元輸入流中讀取文本,緩沖各個字元,從而實現字元、數組和行的高效讀取。 BufferedWriter 將文本寫入字元輸出流,緩沖各個字元,從而提供單個字元、數組和字元串的高效寫入。 ByteArrayInputStream ByteArrayInputStream 包含一個內部緩沖區,該緩沖區包含從流中讀取的位元組。 ByteArrayOutputStream 此類實現了一個輸出流,其中的數據被寫入一個 byte 數組。 CharArrayReader 此類實現一個可用作字元輸入流的字元緩沖區。 CharArrayWriter 此類實現一個可用作 Writer 的字元緩沖區。 Console 此類包含多個方法,可訪問與當前 Java 虛擬機關聯的基於字元的控制台設備(如果有)。 DataInputStream 數據輸入流允許應用程序以與機器無關方式從底層輸入流中讀取基本 Java 數據類型。 DataOutputStream 數據輸出流允許應用程序以適當方式將基本 Java 數據類型寫入輸出流中。 File 文件和目錄路徑名的抽象表示形式。 FileDescriptor 文件描述符類的實例用作與基礎機器有關的某種結構的不透明句柄,該結構表示開放文件、開放套接字或者位元組的另一個源或接收者。 FileInputStream FileInputStream 從文件系統中的某個文件中獲得輸入位元組。 FileOutputStream 文件輸出流是用於將數據寫入 File 或 FileDescriptor 的輸出流。 FilePermission 此類表示對文件和目錄的訪問。 FileReader 用來讀取字元文件的便捷類。 FileWriter 用來寫入字元文件的便捷類。 FilterInputStream FilterInputStream 包含其他一些輸入流,它將這些流用作其基本數據源,它可以直接傳輸數據或提供一些額外的功能。 FilterOutputStream 此類是過濾輸出流的所有類的超類。 FilterReader 用於讀取已過濾的字元流的抽象類。 FilterWriter 用於寫入已過濾的字元流的抽象類。 InputStream 此抽象類是表示位元組輸入流的所有類的超類。 InputStreamReader InputStreamReader 是位元組流通向字元流的橋梁:它使用指定的 charset 讀取位元組並將其解碼為字元。 LineNumberInputStream 已過時。此類錯誤假定位元組能充分表示字元。
『肆』 java eclipse Image文件如何創建(放圖片的哪個文件)
咋把我的圖拿到這里來了,,我暈。
不是給你寫流程圖了么?
拿我這個工程來說,右鍵GameTest1->new->source folder ->輸入文件名Image->將需要的圖片復制之後,右鍵Image文件夾->paste就ok
『伍』 請問java怎樣將一個outputstream位元組流保存成圖片格式
ImageIO 支持流直接生成圖片
『陸』 編寫java程序,通過輸入輸出流實現接受鍵盤的數據並在顯示屏上輸出
window-->Preferences-->搜索Font-->選擇colors and Fonts-->搜索console-->點擊Console Font-->選擇字型大小-->確定--->Apply-->ok
『柒』 java輸入輸出流處理圖片怎麼提取相片
這個簡單 你可以先讀 讀完之後在寫出來么
public class BinaryOperation {
public static void main(String args[]){
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("d:/圖片/chenhl.jpg");
byte[] b = new byte[128];
fos = new FileOutputStream("d:/圖片/chenhl 復件.jpg");
while(fis.read(b)!=-1){
fos.write(b);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try{
if(fis!=null) fis.close();
if(fos!=null) fos.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
}
『捌』 JAVA如何直接在console控制台上用IO流輸出圖片急求!
解決方法:int len = fis.read(); read 方法加入參數bys,這樣才能把fis的內容注入bys裡面。
順便說下,FileInputStream不能正確輸出中文,因為這個是按位元組輸出的,每個中文站2個位元組,會出現亂碼。
『玖』 java輸入輸出流拷貝圖片 下面的代碼為什麼生成的圖片打不開還會越來越大
while((n=fis.read(buf))!=-1)
{
fos.write(buf, 0, n);//輸出到指定文件
}
『拾』 java把圖片轉換成二進制流
public static void main(String[] args) throws Exception {
File file = new File("d:\L.jpg");//圖片
FileInputStream fis = new FileInputStream(file);//把圖片變成流
FileOutputStream fos = new FileOutputStream(new File("E:\L.jpg")); //把圖片流寫入E盤
byte[] read = new byte[1024]; //每次讀取的字版節 可以自己定義權 256 512 1024 2048 等。。。
int len = 0;
while((len = fis.read(read))!= -1){ //讀取變成流的圖片
fos.write(read,0,len);//寫入圖片
}
fis.close();//關閉輸入流
fos.close();//關閉輸出流
}