以类文件载入的方式初期化 Velocity

本文介绍了一个使用Java进行Velocity模板引擎初始化的例子。通过设置输入和输出编码为UTF-8,并配置资源加载器为类路径资源加载器,实现了Velocity的基本配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上代码:

 

try {
    Properties p = new Properties();
    p.setProperty(Velocity.INPUT_ENCODING, "UTF-8");
    p.setProperty(Velocity.OUTPUT_ENCODING, "UTF-8");
    p.setProperty("resource.loader", "class");
    p.setProperty("class.resource.loader.class", "org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
    Velocity.init(p);
} catch (Exception e) {
    e.printStackTrace();
}

clear; close all; clc; % 设置文件夹路径 %folderPath ='E:\ANSYS-ZML\1D=180\25D\U=5\2\SSTKW\0.0005\dmd\';%台式 folderPath = 'D:\1研究生资料\0圆柱\1AnsysZml\1D=180\25D\U=5\2\SSTKW\0.0005\dmd\';%笔记本 % 初始数据存储 Vorticity = []; Velocity = []; Pressure = []; % 循环遍历所有需要读取的.dat文件 for i = 0:110 % 因为从20300到25800,每次增加50,共有111个文件 % 生成文件名 fileName = sprintf('%d.dat', 20300+50 * i); % 确保文件名正确生成,从250开始 % 构造完整文件路径 fullFilePath = [folderPath, fileName]; % 打开文件准备逐行读取 fid = fopen(fullFilePath, 'r'); if fid == -1 error('无法打开文件: %s', fullFilePath); end % 初始存储行内容的cell数组和包含'E'的行索引数组 lines = {}; indicesWithE = []; % 包含'E'的行索引数组 % 逐行读取文件内容 tline = fgetl(fid); while ischar(tline) % 存储当前行 lines{end+1} = tline; % 检查当前行是否包含'E' if contains(tline, 'E') indicesWithE = [indicesWithE, length(lines)]; end % 读取下一行 tline = fgetl(fid); end % 关闭文件 fclose(fid); % 找到包含'E'的最后一行的索引 if ~isempty(indicesWithE) lastIndexWithE = max(indicesWithE); else error('文件 %s 中未找到包含字母 "E" 的行。', fullFilePath); end % 重新打开文件以使用textscan fid = fopen(fullFilePath, 'r'); if fid == -1 error('无法重新打开文件 %s。', fullFilePath); end % 注意:这里的headerLines和dataLinesToRead需要根据实际文件格式调整 headerLines = 19; dataLinesToRead = lastIndexWithE - headerLines; % 修正索引以包含最后一行 % 使用textscan读取数据,注意调整格式和分隔符 FormatString = '%f %f %f %f %f '; % 根据你的数据格式调整 C = textscan(fid, FormatString, [dataLinesToRead, 1], 'HeaderLines', headerLines, 'Delimiter', ','); fclose(fid);% 关闭文件 % 将cell数组转换为矩阵 C = cell2mat(C); VorticityData = C(:,3); VelocityData = C(:,4); PressureData = C(:,5); % 将当前文件的数据添加到总数据存储中 Vorticity = cat(2, Vorticity, VorticityData); Velocity = cat(2, Velocity, VelocityData); Pressure = cat(2, Pressure, PressureData); end % 显示结果或进行进一步处理 disp(C);修改此代码加速读取数据,其中每个dat文件有几十万行
最新发布
04-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值