Създавам приложение, което ще чете изображение байт/пиксел/данни от .bmp изображение и ще го съхранява в масив byte/char/int/etc.
Сега от този масив искам да извадя 10 (в десетичен знак) от данните, съхранени в 10-ия индекс на масив.
Мога успешно да съхраня информацията за изображението в създадения масив. Но когато се опитам да запиша информацията за масива обратно в .bmp изображение, създаденото изображение не може да се види.
Това е частта от кода, която се опитах да направя.
В този код не изваждам 10 от 10-ия индекс на масив.
public class Test1 {
public static void main(String[] args) throws IOException{
File inputFile = new File("d://test.bmp");
FileReader inputStream = new FileReader("d://test.bmp");
FileOutputStream outputStream = new FileOutputStream("d://test1.bmp");
/*
* Create byte array large enough to hold the content of the file.
* Use File.length to determine size of the file in bytes.
*/
char fileContent[] = new char[(int)inputFile.length()];
for(int i = 0; i < (int)inputFile.length(); i++){
fileContent[i] = (char) inputStream.read();
}
for(int i = 0; i < (int)inputFile.length(); i++){
outputStream.write(fileContent[i]);
}
}
}
char[]
? Нямате текстови данни. Използвайтеbyte[]
вместо това. - person Jon Skeet   schedule 05.02.2013File
, както изглежда, че правите, а вместо това на „данните“ на самото изображение или звук. В този случай ще прочетете fie вBufferedImage
, ще манипулирате самото изображение и ще го запишете обратно във файл. 3) Добавете @JonSkeet (или който и да е), за да ги уведомите за нов коментар. 4) Кодът в коментарите е нечетлив. Вместо това го редактирайте във въпроса и използвайте форматиране на кода. - person Andrew Thompson   schedule 05.02.2013