程序已经写好一部分:
import java.awt.BorderLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.MemoryImageSource;
import java.awt.image.PixelGrabber;
import java.awt.*;import java.io.*;
import java.io.File;
import java.io.IOException;import java.util.LinkedList;
import java.util.*;import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;class JpegToBmpFrame extends JFrame {//保存当前操作的像素矩阵
private int currentPixArray[]=null;//图像的路径
private String fileString=null;
//用于显示图像的标签
private JLabel imageLabel=null;//加载的图像
private BufferedImage newImage;//图像的高和宽
private int h,w;//保存历史操作图像矩阵
private LinkedList<int[]> imageStack=new LinkedList<int []>();
private LinkedList<int []> tempImageStack=new LinkedList<int []>();
public JpegToBmpFrame(String title){
    super(title);
    this.setSize(800,600);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
    //创建菜单
    JMenuBar jb=new JMenuBar();
    JMenu fileMenu=new JMenu("文件");
    jb.add(fileMenu);
  
    JMenuItem openImageMenuItem=new JMenuItem("打开");
    fileMenu.add(openImageMenuItem);
    openImageMenuItem.addActionListener(new OpenListener());
    
    JMenuItem exitMenu=new JMenuItem("退出");
    fileMenu.add(exitMenu);
    exitMenu.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e){
      System.exit(0);
     }
    });
  
    JMenu operateMenu=new JMenu("操作");
    jb.add(operateMenu);
  
    JMenuItem ChToBmpMenuItem=new JMenuItem("转成BMP");
    operateMenu.add(ChToBmpMenuItem);
    //ChToBmpMenuItem.addActionListener(new ChToBmpListener());
  
    this.setJMenuBar(jb);
  
    imageLabel=new JLabel("");
    JScrollPane pane = new    JScrollPane(imageLabel);
    this.add(pane,BorderLayout.CENTER);
  
    this.setVisible(true);
  
}//////////////////菜单监听器\\\\\\\\\\\\\\\\\\\\\\\
/*private class ChToBmpListener implements ActionListener{
public void ActionDo(ActionEvent c){
try
{
//利用系统输入设备作为文件输入流
FileInput
}
}
}*/
//////////////////菜单监听器\\\\\\\\\\\\\\\\\\\\\\\
private class OpenListener implements ActionListener{
    public void actionPerformed(ActionEvent e){
     JFileChooser jc=new JFileChooser();
     int returnValue=jc.showOpenDialog(null);
     if (returnValue ==JFileChooser.APPROVE_OPTION) { 
      File selectedFile =jc.getSelectedFile();                       
      if (selectedFile != null) {                          
       fileString=selectedFile.getAbsolutePath();
       try{
        newImage =ImageIO.read(new File(fileString));
        w=newImage.getWidth();
        h=newImage.getHeight();
        currentPixArray=getPixArray(newImage,w,h);
        imageStack.clear();
        tempImageStack.clear();
        imageStack.addLast(currentPixArray);
        imageLabel.setIcon(new ImageIcon(newImage));
      
       }catch(IOException ex){
        System.out.println(ex);
       }
     
      }                
     }
     JpegToBmpFrame.this.repaint();
     JpegToBmpFrame.this.pack();
    }
}
//////////////////获取图像像素矩阵\\\\\\\\\\\\\\\\\\\
private int[]getPixArray(Image im,int w,int h){
       int[] pix=new int[w*h];
       PixelGrabber pg=null;
       try{
         pg = new PixelGrabber(im, 0, 0, w, h, pix, 0, w);
         if(pg.grabPixels()!=true)
           try{
             throw new java.awt.AWTException("pg error"+pg.status());
           }catch(Exception eq){
                   eq.printStackTrace();
           }
       } catch(Exception ex){
               ex.printStackTrace();       }
      return pix;
    }   //////////////////显示图片\\\\\\\\\\\\\\\\\\\\\\\
private void showImage(int[] srcPixArray){
    Image pic=createImage(new MemoryImageSource(w,h,srcPixArray,0,w));
       ImageIcon ic=new ImageIcon(pic);
       imageLabel.setIcon(ic);
       imageLabel.repaint();
}
public static void main(String[] args) {
    new JpegToBmpFrame("ShowImage");
}}
以上代码已经实现从磁盘读出一张jpeg图片,老师要求的读出的jpeg按BMp格式写到磁盘中,要求用windows中能打开,并且它的属性是BMP图像的属性.帮帮忙吧,这是小弟的一次综合性实验,关系到期末成绩的大事.小弟的