ClassLoader/Class的getResource/getResourceAsStream 是从CLASSPATH中获取资源。
可以在eclipse的项目下新建一个resources目录,把images文件夹放到这个目录下,然后把resources加到Build Path里。
import comsunimagecodecjpegJPEGCodec;
import comsunimagecodecjpegJPEGImageEncoder;
import javaioBufferedOutputStream;
import javaioFileOutputStream;
import javaawtimageBufferedImage;
import javaawt;
import javaxswingImageIcon;
public class ChartGraphics {
BufferedImage image;
void createImage(String fileLocation) {
try {
FileOutputStream fos = new FileOutputStream(fileLocation);
BufferedOutputStream bos = new BufferedOutputStream(fos);
JPEGImageEncoder encoder = JPEGCodeccreateJPEGEncoder(bos);
encoderencode(image);
bosclose();
} catch (Exception e) {
eprintStackTrace();
}
}
public void graphicsGeneration(String name, String id, String classname, String imgurl) {
int imageWidth = 500;//的宽度
int imageHeight = 400;//的高度
image = new BufferedImage(imageWidth, imageHeight, BufferedImageTYPE_INT_RGB);
Graphics graphics = imagegetGraphics();
graphicssetColor(ColorWHITE);
graphicsfillRect(0, 0, imageWidth, imageHeight);
graphicssetColor(ColorBLACK);
graphicsdrawString("姓名 : " + name, 50, 75);
graphicsdrawString("学号 : " + id, 50, 150);
graphicsdrawString("班级 : " + classname, 50, 225);
//ImageIcon imageIcon = new ImageIcon(imgurl);
//graphicsdrawImage(imageIcongetImage(), 230, 0, null);
//改成这样:
BufferedImage bimg = null;
try {
bimg = javaximageioImageIOread(new javaioFile(imgurl));
} catch (Exception e) {}
if(bimg!=null)
graphicsdrawImage(bimg, 230, 0, null);
graphicsdispose();
createImage("G:\\TDDOWNLOAD\\hehejpg");
}
public static void main(String[] args) {
ChartGraphics cg = new ChartGraphics();
try {
cggraphicsGeneration("ewew", "1", "12", "C:/Documents and Settings/Administrator/My Documents/My Pictures/7jpg");
} catch (Exception e) {
eprintStackTrace();
}
}
}
你这个是不是A系统想了解B系统的页面信息?
如果是这样存在一个问题比较难解决,就是数据源问题,你A系统并不知道B系统的数据。
如果要获取招聘信息的公司名称,有几个思路
1、A系统做一个iframe,这个iframe里面嵌入你要访问的URL,然后你通过JS,获取这个iframe标签里面的所有内容,这样数据源就解决了
2、你可以做一个浏览器插件,这个插件的功能就是获取当前访问页面的所有字符数据,获取到数据后将数据发送到A系统
3、对网页进行截图,然后通过OCR软件获取中的文字,并将文字保存成文本,A系统读取这个文本信息,数据源问题也可以解决
以上上个只是我临时想到的,可能还可以运用JAVA的全文检索框架试试看,因为没有用过这个框架所以不知道是否能够实现
获取到数据源后,接下来就是业务处理了,业务处理就看具体业务进行处理就行了,技术方面就是一个文字处理的功能,技术好实现,业务比较复杂
这是第一个程序文件:
import javaawt;
import javaxswing;
public class ImagePanel extends JPanel {
private Image img;
public ImagePanel(Image img) {
thisimg = img;
Dimension size = new Dimension(imggetWidth(null),
imggetHeight(null));
setSize(size);
setPreferredSize(size);
setMinimumSize(size);
setMaximumSize(size);
setLayout(null);
}
public void paintComponent(Graphics g) {
gdrawImage(img,0,0,null);
}
}
这是第二个:
import javaawt;
import javaxswing;
public class ImageTest {
public static void main(String[] args) {
ImagePanel panel = new ImagePanel(new
ImageIcon("images/01jpg")getImage());
JFrame frame = new JFrame("多问自己,会使你少犯错误!");
framegetContentPane()add(panel);
framepack();
framesetVisible(true);
}
}
两种解决办法,
第一种使用纯java的方式,使用组件JTextPane 或者JEditorPane 来显示和文字
第二种使用JEditorPane,但是里面存放HTML代码 用HTML来控制文字和的显示
后台获取到文件了么FilegetName就是文件名了
这个方法就是保存文件用的了 调用saveFile(filegetInputStrean,filegetName);
private void saveFile(InputStream inputStream, String fileName) {OutputStream os = null; try {
String path = "D:\\testFile\\"; // 2、保存到临时文件 // 1K的数据缓冲
byte[] bs = new byte[1024]; // 读取到的数据长度
int len; // 输出的文件流保存到本地文件
File tempFile = new File(path); if (!tempFileexists()) {
tempFilemkdirs();
}
os = new FileOutputStream(tempFilegetPath() + Fileseparator + fileName); // 开始读取
while ((len = inputStreamread(bs)) != -1) {
oswrite(bs, 0, len);
}
} catch (IOException e) {
eprintStackTrace();
} catch (Exception e) {
eprintStackTrace();
} finally { // 完毕,关闭所有链接
try {
osclose();
inputStreamclose();
} catch (IOException e) {
eprintStackTrace();
}
}
}
以上就是关于java中如何获取特定目录下的图片全部的内容,包括:java中如何获取特定目录下的图片、java生成jpg图片 并且实现文字和图片混排、如何 用Java语言获得网页数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)