Java 文件服务器类使用示例
最编程
2024-05-24 15:38:34
...
实例1: RandomCSVReader
import org.apache.jmeter.services.FileServer; //导入依赖的package包/类
public RandomCSVReader(String filename, String encoding,
String delim, boolean randomOrder,
boolean hasVariableNames, boolean firstLineIsHeader,
boolean isRewindOnEndOfList) {
File f = new File(filename);
this.file = (f.isAbsolute() || f.exists()) ? f : new File(FileServer.getFileServer().getBaseDir(), filename);
this.encoding = encoding;
this.delim = checkDelimiter(delim).charAt(0);
this.isSkipFirstLine = !(!firstLineIsHeader && hasVariableNames);
this.randomOrder = randomOrder;
this.isRewindOnEndOfList = isRewindOnEndOfList;
try {
initOffsets();
if (randomOrder) {
initRandom();
} else {
initConsistentReader();
}
initHeader();
} catch (IOException ex) {
LOGGER.error("Cannot initialize RandomCSVReader, because of error: ", ex);
throw new RuntimeException("Cannot initialize RandomCSVReader, because of error: " + ex.getMessage(), ex);
}
}
实例2: rconfigure
import org.apache.jmeter.services.FileServer; //导入依赖的package包/类
/**
* Adds a feature to the ThreadGroup attribute of the RemoteJMeterEngineImpl
* object.
*
* @param testTree
* the feature to be added to the ThreadGroup attribute
*/
@Override
public void rconfigure(HashTree testTree, String host, File jmxBase, String scriptName) throws RemoteException {
log.info("Creating JMeter engine on host "+host+" base '"+jmxBase+"'");
try {
log.info("Remote client host: " + getClientHost());
} catch (ServerNotActiveException e) {
// ignored
}
synchronized(LOCK) { // close window where another remote client might jump in
if (backingEngine != null && backingEngine.isActive()) {
log.warn("Engine is busy - cannot create JMeter engine");
throw new IllegalStateException("Engine is busy - please try later");
}
ownerThread = Thread.currentThread();
backingEngine = new StandardJMeterEngine(host);
backingEngine.configure(testTree); // sets active = true
}
FileServer.getFileServer().setScriptName(scriptName);
FileServer.getFileServer().setBase(jmxBase);
}
实例3: testStarted
import org.apache.jmeter.services.FileServer; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void testStarted() {
if (getBasedir() != null && getBasedir().length() > 0) {
try {
FileServer.getFileServer().setBasedir(FileServer.getFileServer().getBaseDir() + getBasedir());
} catch (IllegalStateException e) {
log.error("Failed to set file server base dir with " + getBasedir(), e);
}
}
// we set the classpath
String[] paths = this.getTestPlanClasspathArray();
for (String path : paths) {
NewDriver.addURL(path);
log.info("add " + path + " to classpath");
}
}
实例4: testStarted
import org.apache.jmeter.services.FileServer; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void testStarted() {
if (getBasedir() != null && getBasedir().length() > 0) {
try {
FileServer.getFileServer().setBasedir(FileServer.getFileServer().getBaseDir() + getBasedir());
} catch (IllegalStateException e) {
log.error("Failed to set file server base dir with " + getBasedir(), e);
}
}
// we set the classpath
String[] paths = this.getTestPlanClasspathArray();
for (int idx=0; idx < paths.length; idx++) {
NewDriver.addURL(paths[idx]);
log.info("add " + paths[idx] + " to classpath");
}
}
实例5: getFileWriter
import org.apache.jmeter.services.FileServer; //导入依赖的package包/类
private static PrintWriter getFileWriter(String filename, SampleSaveConfiguration saveConfig)
throws IOException {
if (filename == null || filename.length() == 0) {
return null;
}
filename = FileServer.resolveBaseRelativeName(filename);
FileEntry fe = files.get(filename);
PrintWriter writer = null;
boolean trimmed = true;
if (fe == null) {
if (saveConfig.saveAsXml()) {
trimmed = trimLastLine(filename);
} else {
trimmed = new File(filename).exists();
}
// Find the name of the directory containing the file
// and create it - if there is one
File pdir = new File(filename).getParentFile();
if (pdir != null) {
// returns false if directory already exists, so need to check again
if(pdir.mkdirs()){
log.info("Folder "+pdir.getAbsolutePath()+" was created");
} // else if might have been created by another process so not a problem
if (!pdir.exists()){
log.warn("Error creating directories for "+pdir.toString());
}
}
writer = new PrintWriter(new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(filename,
trimmed)), SaveService.getFileEncoding("UTF-8")), SAVING_AUTOFLUSH); // $NON-NLS-1$
log.debug("Opened file: "+filename);
files.put(filename, new FileEntry(writer, saveConfig));
} else {
writer = fe.pw;
}
if (!trimmed) {
writeFileStart(writer, saveConfig);
}
return writer;
}
推荐阅读
-
Java】--集合框架:使用集合工具类
-
Java 8新特性探究(十三)JavaFX 8新特性以及开发2048游戏-JavaFX历史## 跟java在服务器端和web端成绩相比,桌面一直是java的软肋,于是Sun公司在2008年推出JavaFX,弥补桌面软件的缺陷,请看下图JavaFX一路走过来的改进 从上图看出,一开始推出时候,开发者需使用一种名为JavaFX Script的静态的、声明式的编程语言来开发JavaFX应用程序。因为JavaFX Script将会被编译为Java bytecode,程序员可以使用Java代码代替。 JavaFX 2.0之后的版本摒弃了JavaFX Script语言,而作为一个Java API来使用。因此使用JavaFX平台实现的应用程序将直接通过标准Java代码来实现。 JavaFX 2.0 包含非常丰富的 UI 控件、图形和多媒体特性用于简化可视化应用的开发,WebView可直接在应用中嵌入网页;另外 2.0 版本允许使用 FXML 进行 UI 定义,这是一个脚本化基于 XML 的标识语言。 从JDK 7u6开始,JavaFx就与JDK捆绑在一起了,JavaFX团队称,下一个版本将是8.0,目前所有的工作都已经围绕8.0库进行。这是因为JavaFX将捆绑在Java 8中,因此该团队决定跳过几个版本号,迎头赶上Java 8。 ##JavaFx8的新特性 ## ###全新现代主题:Modena 新的Modena主题来替换原来的Caspian主题。不过在Application的start方法中,可以通过setUserAgentStylesheet(STYLESHEET_CASPIAN)来继续使用Caspian主题。 参考http://fxexperience.com/2013/03/modena-theme-update/ ###JavaFX 3D 在JavaFX8中提供了3D图像处理API,包括Shape3D (Box, Cylinder, MeshView, Sphere子类),SubScene, Material, PickResult, LightBase (AmbientLight 和PointLight子类),SceneAntialiasing等。Camera类也得到了更新。从JavaDoc中可以找到更多信息。 ###富文本 强化了富文本的支持 ###TreeTableView ###日期控件DatePicker 增加日期控件 ###用于 CSS 结构的公共 API
-
如何在JSP页面中使用Java类:导入Java包的步骤
-
如何使用Java增加视频播放量和点赞数的代码示例
-
实战教程:Java StreamingOutput类的使用方法——实例1:process操作详解
-
使用Rational Rose进行Java反向工程:创建类图指南及问题排查详解
-
实操演示:Java BaseResponse类的第四个应用场景——onResponse方法示例
-
实操示例:在Java中运用ChannelMatcher类
-
实操示例:在Java中运用WebSocketClientProtocolHandler类
-
JAVA多线程ReentrantLock的lock, tryLock, tryLock(long timeout, TimeUnit unit) 及使用场景的简单示例