以下代码已经实现从磁盘读出一张jpeg图片,老师要求的读出的jpeg按BMp格式写到磁盘中,要求用windows中能打开,并且它的属性是BMP图像的属性.帮帮忙吧,这是小弟的一次综合性实验,关系到期末成绩的大事.小弟的 
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"); 
} }