1)文件要有后缀名
2)要用Image或BufferedImage对象
3)因为你重写了paint()方法,所以不能在Label里面显示图片。你重写了paint()方法后,整个容器都会变成画布,所以看不到Label组件,自然也就看不到图片。应该在paint方法里面用g.drawImage方法把图片在画布中画出来。参考Java API,Graphics的drawImage方法。
㈡ java国际化文件properties可以写入图片么
可以的,但不是放真正的图片,而是放图片路径或是样式名就可以了。
其实你把问题想复杂了,properties文件里我都看字符串。例如:
方法1:既然是字符串放自己想要的路径
lang_en_US.properties
mypic=/image/logo_en.jpg
lang_zh_CN.properties
mypic=/image/logo_cn.jpg
方法1:写两个样式名去区别
lang_en_US.properties
mypic=mypic_en
lang_zh_CN.properties
mypic=mypic_cn
我相信通过这种方法你应该可以想到方法3,4等扩展了。他只是字符串的值不同
㈢ JAVA程序怎么把html的table内容写入图片文件中
这个好像不行,不过你可以反过来,就是给table的背景图片设置成你的图片这样子
㈣ 怎么用java从文件中读取图片和写入图片到文件里
首先导入各种需要的包:
import java.awt.Image;
import javax.imageio.ImageIO;
import java.io.*;
读取图片的方法如下:
Image[] array = new Image[10];
Image image = ImageIO.read(new File("d:\\source.gif"));//根据你实际情况改文件路径吧
array[0] = image;
图片读出来了。
如果你有一个Image对象,想把它写入文件可以这样做:
BufferedImage image = ImageIO.read(new File("d:\\source.gif"));
//要想保存这个对象的话你要把image声明为BufferedImage 类型
ImageIO.write(image, "png", new File("f:\\test.png"));
㈤ JAVA添加图片
你自己看吧 以前练习的一个小程序 实现了打开本地的jpg图像文件 并改变它的大小 其他类型的图像文件也能打开
import java.awt.*;
import java.awt.event.*;
public class ImageViewer extends Frame {
//图像文件的打开 图像的缩放 打开本地资源dialog的使用
ImageViewer view = this;
Image image = null;
String dir = "";
public ImageViewer() {
super();
this.setTitle("ImageViewer");
this.setBounds(0, 0, 600, 500);
this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
MenuBar mb = new MenuBar();
this.setMenuBar(mb);
Menu m = new Menu("菜单");
mb.add(m);
MenuItem mi1 = new MenuItem("打开文件");
mi1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
FileDialog fd = new FileDialog(view, "打开图像", FileDialog.LOAD);
fd.setFile("*.jpg");
fd.setDirectory(dir);
fd.setVisible(true);
String f = fd.getFile();
dir = fd.getDirectory();
if(f != null) {
image = Toolkit.getDefaultToolkit().getImage(dir + fd.getFile());
image = image.getScaledInstance(600, 500, Image.SCALE_SMOOTH);
}
view.repaint();
}
});
MenuItem mi2 = new MenuItem("退出");
mi2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
m.add(mi1);
m.add(mi2);
}
private void init() {
System.out.println(1);
}
public void paint(Graphics g) {
if(image != null) {
g.drawImage(image, 0, 0, this);
}
}
public static void main(String args[]) {
new ImageViewer();
}
}
㈥ 在java中怎样把很多图片从一个文件夹中写入到一个imageicon数组中
// 这是一个嵌入到网页中动态显示50是张图片的java小应用程序,希望你对有帮助!
import java.awt.*;
import java.applet.*;
public class Picture extends Applet
{
Image[] theImages;
int nNum = 50;
int nNow = 0;
public void init()
{
theImages = new Image[nNum];
for(int i = 0; i < nNum ; i++)//将图片装入数组
theImages[i] = getImage(getDocumentBase(), "pic" + Integer.toString(i) + ".jpg");
}
public void start()
{
nNow = 0;
}
public void paint(Graphics g)
{
g.drawImage(theImages[nNow],500,500,this);
nNow++;
if(nNow>=nNum)
nNow = 0;
try
{
Thread.sleep(50);
}
catch(Exception e){showStatus(e.toString());}
repaint();
}
public void main()
{
Graphics g;
g=this.getGraphics ();
init();
start();
paint(g);
}
}
㈦ 怎么在Java里添加背景图片
//一个小例子
//注意:
//当前目录下要有一个p.jpg文件
//压缩这个文件使它的大小尽量小,最好只有几十KB
//否则无法显示背景图片
import javax.swing.*;
import java.awt.*;
public class Demo extends JFrame {
public static void main(String[] args) {
new Demo();
}
public Demo() {
//加载图片
pic=Toolkit.getDefaultToolkit().getImage("p.jpg");
MediaTracker t=new MediaTracker(this);
t.addImage(pic,1);
try
{
t.waitForID(1);
}
catch(Exception e)
{
}
setSize(400,400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
//覆盖(重写)paint方法以在窗口中添加一张图片
public void paint(Graphics g) {
g.drawImage(pic,0,0,null);
}
Image pic;
}
㈧ java 图片文件的读取和写入问题
读写是两个不同的分支,通常都是分开单独使用的,但是原则就是什么文件的流就要用相应的流进行存储。
可以通过BufferedReader 流的形式进行流缓存,之后通过readLine方法获取到缓存的内容。
BufferedReader bre = null;
try {
String file = "D:/test/test.png";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环
{
System.out.println(str);//原样输出读到的内容
};
备注: 流用完之后必须close掉,如上面的就应该是:bre.close(),否则bre流会一直存在,直到程序运行结束。
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/test.png”),"GBK");//确认流的输出文件和编码格式,此过程创建了“test.txt”实例
pw.write("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pw.close();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。
㈨ 用Java写上传文件(图片)
首先希望我的回答能给你带来帮助
首先写一个上传类
public class procts_shang_chuang {
public static boolean GOTO(String paht,FormFile file)
{
boolean bool =false;
int betered = 0;
byte[] buufer = new byte [2042];
if(file.getFileSize()>0&&file.getFileSize()<500000)
{
try {
InputStream in = file.getInputStream();//写入文件
OutputStream out = new FileOutputStream(paht);
while((betered=in.read(buufer, 0, 2042))!=-1)
{
out.write(buufer, 0, betered);//将文件写入服务器
}
in.close();
out.close();
bool = true;
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
bool = false;
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
bool = false;
e.printStackTrace();
}
}
return bool;
}
public static boolean delete_file(String path)
{
File file = new File(path);
boolean bool = false;
if(file.isFile())
{
System.out.println("文件存在");
bool = file.delete();
}
return bool;
}
}
这个类主要是上传和删除图片的类
那么下来直接调用就可以了 通过页面往action中提交数据
if(form instanceof Procts_addForm)//如果form是FilesForm
{
String engding = request.getCharacterEncoding();
if((engding != null) && (engding.equalsIgnoreCase("utf-8")))
{
response.setContentType("text/html; charset=gb2312");//如果没有指定编码,编码格式为gb2312
}
FormFile file = procts_addForm.getFiles();
inpa = Huoqu_weiyi_biaoshi.getUniqueId();
String path = request.getRealPath("/guanliyuan/ji_zhu_procts_img/"+(inpa+file.getFileName()));
System.out.println(path);
String name = file.getFileName();
inpa = "/guanliyuan/ji_zhu_procts_img/"+inpa+file.getFileName();
bool = procts_shang_chuang.GOTO(path, file);
}
这样就把图片上传上去了 仔细看看 批量上传和这个一样只是需要做一点点的改动而已
有什么不明白的可以联系我Q号:549726411
㈩ java write方法写一张图片若该文件本来就存在会出现什么情况
new FileOutputStream("xxx.xxx", append);
当append为true时,从文件末尾写入数据。
当append为false时,从文件头部写入,就是覆盖,默认为false。
本来就存在,默认会覆盖