ColdFusion OpenCSV在内存文件中打开

ColdFusion OpenCSV在内存文件中打开,csv,coldfusion,ram,cfml,opencsv,Csv,Coldfusion,Ram,Cfml,Opencsv,设想一种需要动态解析的CSV文件 它在本地磁盘存储中工作,但不在ram中工作:/// <cfscript> cfhttp( method = "Get", url = "http://real-chart.finance.yahoo.com/table.csv?s=YHOO&d=4&e=2&f=2016&g=d&a=3&b=12&c=2016&ignore=.csv", //path = "C:

设想一种需要动态解析的CSV文件

它在本地磁盘存储中工作,但不在ram中工作:///

<cfscript>

cfhttp(
    method = "Get",
    url = "http://real-chart.finance.yahoo.com/table.csv?s=YHOO&d=4&e=2&f=2016&g=d&a=3&b=12&c=2016&ignore=.csv",
    //path = "C:\CFTemp",
    path = "ram:///",
    file = "currentCSV.csv"
);

cfdirectory(
    name="files",
    action="list",
    directory="ram:///",
    recurse="true",
    type="all"
);
writeDump(files);

myfile = FileRead("ram:///currentCSV.csv");
WriteOutput("#myfile#");


fileReader = createobject("java","java.io.FileReader");
fileReader.init("ram:///currentCSV.csv");  // -ERROR

csvReader = createObject("java","com.opencsv.CSVReader");
csvReader.init(fileReader, ",");
ArrayData = csvReader.readAll();
writeDump(ArrayData);

</cfscript>

cfhttp(
method=“Get”,
url=”http://real-chart.finance.yahoo.com/table.csv?s=YHOO&d=4&e=2&f=2016&g=d&a=3&b=12&c=2016&ignore=.csv",
//path=“C:\CFTemp”,
path=“ram:///”,
file=“currentCSV.csv”
);
CFD目录(
name=“files”,
action=“list”,
directory=“ram://”,
recurse=“true”,
type=“全部”
);
书面文件;
myfile=FileRead(“ram:///currentCSV.csv");
写输出(“#我的文件#”);
fileReader=createobject(“java”、“java.io.fileReader”);
fileReader.init(“ram:///currentCSV.csv");  // -错误
csvReader=createObject(“java”,“com.opencsv.csvReader”);
init(文件读取器,“,”);
ArrayData=csvReader.readAll();
writeDump(ArrayData);
-ERR ram:/currentCSV.csv(文件名、目录名或卷标语法不正确)

这里怎么了


ColdFusion 11、OpenCSV 3.7或“ram://”是一种仅适用于ColdFusion函数的CF构造。是一个对VFS一无所知的java类。首先,它的构造函数只接受一个,即c:/path/file.txt

您想实现什么?Java不理解文件路径(fileReader.init(
)ram:///currentCSV.csv“
);)您在阅读时正在使用它。这是一种特定于ColdFusion的语法。